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-выходе (пример):

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

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

Глючный фильтр shortcode_unautop в Wordpress

Июнь 25, 2010 г.

Проявления глюка довольно редки, и у меня всплывали всего пару раз, но я решил выяснить, где же wordpress мне делает "козью морду", и какой из его фильтров делает не то что надо. Проявления "бага" таковы - при вставке некоторого количества миниатюр картинок ...

Читать

Отключение emoji в WP

Апрель 1, 2025 г.

Возможно, это не полное решение проблемы, но большая его часть. Если вам нужно отключить обработку эмоджи, которая реализована в ядре, вам потребуется отключить целую пачку обработчиков. Часть из них т.н. действия (action), другие - фильтры (filter). ...

Читать

Payler для Woocommerce

Ноябрь 25, 2020 г.

Для blitzpet.ru занимался подключением платежной системы payler к woocommerce на WP. Обычно в таких случаях используются готовые "фирменные" плагины, разработанные dev team платежной системы для большинства популярных CMS. Но support со стороны payler ...

Читать

Ставим плагин facebook "Страница" на сайт на Wordpress

Май 3, 2016 г.

Если вы думаете, что ставить плагины Facebook на свой сайт трудно, и это удел программистов, то вы ошибаетесь. Хотя, т.к. я программист, то могу ошибаться ...

Читать
 

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

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



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