Pracuję ostatnio nad pewną skórką. Pochwalę się niedługo, to pewne. Tymczasem podzielę się prostym trickiem, który był mi potrzebny by stworzyć meny złożone z linków do wybranych tagów i kategorii. Jeśli chodzi o meny zawierające linki do kategorii to bez problemów można je stworzyć za pomocą natywnego narzędzia do tworzenia menu a potem odpowiednio je umiejscowić w skórce. Jeśli zaś chodzi o linki do tagóœ to już trzeba się troszkę bardziej postarać.
Link to kategorii można uzyskać za pomocą funkcji get_category_link(). Jako parametr przyjmuje ona id albo obiekt kategorii. Nie muszę chyba nikogo przekonywać że wstawianie “na sztywno” id kategorii może prowadzić do pewnych komplikacji. Wystarczy przez przypadek usunąć kategorię a potem ją dodać z powrotem by miała ona już inne id. Bezpieczniej jednak jest odwoływać się do niej poprzez nazwę czy wręcz slug. Wystarczy więc nastepujący kod, by wyświetlić link do kategorii:
<a href="<?php echo get_category_link( get_category_by_slug( 'html' ) ); ?> ">HTML</a>
Kiedy chcemy w podobny sposób uzyskać link do tagu, a ściślej mówiąc link do strony prezentującej listę wpisów oznaczoną wybranym tagiem, musimy użyć funkcji get_term_by(). Przyjmuje ona pięć parametrów z których trzy pierwsze są w naszym przypadku istotne:
- $field – string określający jakiego pola chcemy użyć do szukania, w naszym wypadku będzie to ‘slug’ ale może być też ‘name’, ‘id’ etc.
- $value – string określający wartość którą chcemy wyszukać
- $taxonomy – nazwa taksonomi, której użyjemy, w naszym wypadku ‘post_tag’
Tak więc by wyświetlić link do pojedynczego tagu wystarczy następujący kod:
<?php $tagObj = get_term_by('slug', 'css', 'post_tag'); $tagID = $tagObj->term_id; ?> <a href="<?php echo get_tag_link($tagID); ?> ">css</a>
I już można stworzyć dowolne menu.