Linki do tagów i kategorii – WordPress

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.

Leave a Reply

%d bloggers like this: