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

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

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

Обновление Inactive User Deleter - v 1.2

Март 29, 2017 г.

Взявшись за переделку собственных плагинов, я нашел время для обновления ещё одной своей древней поделки. Это был первый плагин, который я вообще делал для WP. Я собирал его только лишь с учебными целями - хотел сделать какой-то плагин и разместить его ...

Читать

Inactive User Deleter Tool 1.62

Август 26, 2023 г.

Небольшие обновления для плагина, который я поддерживаю для WP. Я хотел убрать ограничение, связанное с переменной PHP - max_input_vars. Дело в том, что каждый пользователь в списке - это отдельная переменная формы, и если список большой, то можно ...

Читать

Настроить порт для подключения к базе данных в WP

Февраль 18, 2023 г.

Отдельной переменной, а-ля DB_PORT, для выбора произвольного порта подключения к базе данных в Wordpress нет. Но порт можно задать как часть константы DB_HOST, например, установим порт 10101: [crayon-6a4c2d4334399955284678/] Настройки хранятся ...

Читать

Сохранение данных отправляемых формой WPCF7 в виде публикации

Июнь 3, 2018 г.

Отличный плагин WP Contact form 7 известен как многофункциональное решение для конструирования пользовательских форм в Wordpress. К сожалению, единственная ...

Читать
 

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

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



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