WordPress: вывод рубрик и тегов таксономии в шаблоне single.php

Если вы хотите отобразить рубрики (категории) и теги поста в шаблоне single.php — т.е. шаблоне одиночной статьи, WordPress предоставляет удобные функции из API-шаблонов. В этой статье разберем, как их использовать правильно и оформить вывод.

Зачем это нужно?

Вывод рубрик и тегов в конце поста помогает:

  • улучшить навигацию по сайту;
  • увеличить вовлеченность пользователей (они переходят на страницы меток);
  • улучшить внутреннюю перелинковку и SEO.

В чём разница между рубриками и тегами?

WordPress использует две встроенные таксономии для организации записей:

Категории (Categories)

  • Имеют иерархическую структуру — можно создавать подкатегории (например: «Новости» → «Обновления»).
  • Обычно используются для группировки постов по основным темам.
  • Каждый пост может быть привязан к одной или нескольким категориям, но чаще — к одной основной.
  • Часто выводятся в меню сайта или фильтрах по темам.

Теги (Tags)

  • Плоская структура — нет вложенности, все теги равноправны.
  • Используются для уточнения содержания поста или выделения ключевых слов.
  • Один пост может иметь много тегов, и они не обязаны повторяться на других постах.
  • Удобны для быстрого поиска по связанной теме, особенно при большом количестве записей.

Например, пост с обзором смартфона может быть в категории Обзоры, а теги могут быть: Android, Samsung, камера, 5G.

Таким образом:

  • Категория — «о чём пост»;
  • Теги — «какие аспекты он затрагивает».

Разобравшись с чем мы имеем дело, давайте перейдем к сути вопроса — как вывести рубрики/теги в конце статьи.

Вывод тегов: the_tags()

Функция the_tags() выводит список тегов, прикрепленных к текущему посту. Она принимает три параметра:

  • $before — HTML-код перед списком (например, открытие тега <p class="tags">);
  • $sep — разделитель между тегами (например, пробел или запятая);
  • $after — HTML-код после списка (например, закрытие тега </p>).

Пример:

Если у поста нет тегов, функция не выведет ничего.

Вывод рубрик: the_category()

Функция the_category() выводит список рубрик (категорий), к которым привязан пост. Это удобный способ отобразить таксономию category прямо в шаблоне.

Сигнатура функции:

Параметры:

  • $separator(строка)
    Разделитель между рубриками.
    По умолчанию — пустая строка, и тогда список выводится в виде <ul><li> (HTML-список). Если указать, например, ', ', то рубрики будут выведены как текст с разделением запятой.
  • $parents(строка)
    Способ отображения иерархии родительских категорий.
    Принимает:
    • 'multiple' — каждая рубрика показывается с полным путём (Новости > Технологии);
    • 'single' — только одна родительская ветка указывается для каждой категории;
    • '' (пусто) — выводятся только сами рубрики без родительских.
  • $post_id(int|false)
    ID поста, для которого нужно получить категории.
    По умолчанию — текущий пост в цикле WordPress. Указывается явно, если нужен вывод для другого поста.

Пример использования:

Этот код:

  • выведет рубрики через запятую;
  • покажет полные иерархические пути (Книги > Фантастика);
  • будет применён к текущему посту ($post_id по умолчанию).

Если рубрик у поста нет — функция ничего не выведет.

Объединим теги/рубрики в один список

Иногда нужно объединить рубрики и теги в один блок — например, чтобы задать общую стилизацию или разместить их рядом. Ниже пример, где и рубрики, и теги выводятся внутри одного контейнера <p class="post-taxonomies">.

Что здесь происходит:

  • Вместо the_category() и the_tags() мы используем функции get_the_category_list() и get_the_tag_list(), чтобы получить строки, а не сразу вывести их;
  • Это позволяет объединить вывод в один контейнер, добавить, например, <br>, между рубриками и тегами, если нужно разделить их логически;
  • У родительских рубрик иерархия не показывается, так как второй параметр у get_the_category_list() не передан ('' по умолчанию).

Результат на HTML-выходе (пример):

Такой подход удобен, если вы хотите гибко управлять разметкой, выводить рубрики и теги вместе, или, например, вставить между ними иконки.

Мало букафф? Читайте есчо !

References WP plugin

Июнь 22, 2016 г.

Искал плагин для Wordpress, который бы позволил связывать публикации друг с другом. Видно, что не я один искал. :) Пришлось написать свой плагин, разместил ...

Читать

Удаление пользователей в WP, обновление плагина Inactive user deleter

Сентябрь 4, 2017 г.

Плагин продолжает мной развиваться по заявкам пользователей. Вот что было добавлено в версию 1.42. На этот раз обратился пользователь Manish Khullar, ...

Читать

Powered by wordpress plugin, или нет надо мной твоей власти, Завулон

Сентябрь 30, 2015 г.

Люди далекие от программирования, но пожелавшие заиметь свой блог не каком то livejournal или instagram, а так, чтобы он был совсем свой, "типа как сайт", ...

Читать

Ajax в WP

Июль 12, 2017 г.

Посмотрим в данном гайде как сделать обработку ajax запроса на Wordpress. WP предоставляет два hook-а для подключения PHP обработчика к ajax запросу. ...

Читать
 

Комментарии к «WordPress: вывод рубрик и тегов таксономии в шаблоне single.php»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: