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

Ноябрь 26, 2015 г.

Если вы вместо вашего сайта на wordpress увидели данную надпись Error establishing a database connection This either means that the username and password information in your wp-config.php file is incorrect or we can't contact the database server ...

Читать

Добавление сайдбара в виде блочного шаблона в WP

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

С появлением Гутенберга (Gutenberg), микрошаблоны вышли на новый уровень. Посмотрим пример создания собственного микрошаблона и вставки его в шаблон. Начать надо с регистрации сайдбара, для этого вставим в functions.php темы следующий код: [crayon-6879a32766c4b210792059/] ...

Читать

Как активировать блочный редактор для пользовательского типа контента в WP

Июнь 6, 2021 г.

Wordpress v5.x вводит новую реализацию подхода в редактировании контента - а именно блочный редактор с кодовым именем Gutenberg. Проблема в том, как активировать данный функционал для кастомного типа публикации. Документацию модульного редактора ...

Читать

Нужные SEO модули для wordpress

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

Сделаем акцент на «нужности». Wordpress в базовой комплектации хорошо подходит для сайтов-визиток (лишние элементы и функционал практически отсутствуют), а при желании доводится (дополнительными модулями и такой-то матерью) до необходимого уровня. Ну ...

Читать
 

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

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



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