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

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

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

Отображение галереи в wordpress

Март 19, 2014 г.

Вордпресс позволяет вставлять изображения публикации в виде галереи, выполненной списком миниатюр. Для этого используется специальный тег (shortcode) - ...

Читать

Добавление поля с картинкой в редактор таксономии WP

Июль 4, 2017 г.

Таксономия (словари) Wordpress может быть модифицирована под любые нужды проекта. Для этого CMS предоставляет мощное API, благодаря которому есть готовые ...

Читать

Бесконечные редиректы на WP сайте после включения HTTPS

Ноябрь 27, 2024 г.

Если сайт находится за неким прокси, который реализует SSL, а на веб-сервере при этом не настроен HTTPS протокол, то WP может начать бесконечный цикл переадресаций. Начинается это сразу после изменения URL домашней страницы в админке. Анамнез ...

Читать

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

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

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

Читать
 

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

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



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