Функция get_the_category_list() используется для получения списка категорий записи в виде HTML-списка или в произвольном формате. Это удобный инструмент для вывода категорий в шаблонах записей WordPress.
get_the_category_list( string $separator = '', string $parents = '', int $post_id = false ): string
Описание параметров
- $separator (необязательный)
Разделитель между категориями. По умолчанию категории выводятся в виде списка<ul>. Если указать строку-разделитель, категории будут разделены этой строкой.По умолчанию: пустая строка (выводит список<ul>). - $parents (необязательный)
Как отображать родительские категории. Допустимые значения:'multiple': отображать родительские категории отдельно.'single': отображать только конечную категорию, но с полным путём (например, «Технологии/Программирование»).- Пустая строка: отображаются только конечные категории.
- $post_id (необязательный)
ID поста, для которого нужно получить список категорий. По умолчанию используется текущий пост в цикле WordPress.По умолчанию: текущий пост.
Возвращаемое значение
Возвращает строку с HTML-кодом списка категорий, каждая категория представлена как ссылка.
Пример 1: Список категорий текущего поста, разделённых запятой
Этот пример выводит категории записи, разделённые запятыми, внутри WordPress-цикла:
$categories_list = get_the_category_list(', ');
echo '<p>Категории: ' . $categories_list . '</p>';
Результат:
<p>Категории:
<a href="/category/technology" title="Просмотреть все записи в Технологии" rel="category tag">Технологии</a>,
<a href="/category/programming" title="Просмотреть все записи в Программирование" rel="category tag">Программирование</a>
</p>
Пример 2: Список категорий в виде <ul>
Если параметр $separator оставить пустым, функция автоматически создаст список категорий в виде ненумерованного списка <ul>:
echo get_the_category_list();
Результат:
<ul class="post-categories">
<li><a href="/category/technology" title="Просмотреть все записи в Технологии" rel="category tag">Технологии</a></li>
<li><a href="/category/programming" title="Просмотреть все записи в Программирование" rel="category tag">Программирование</a></li>
</ul>
Пример 3: Отображение категории с указанием родительских категорий
Если пост принадлежит дочерней категории, можно отобразить её вместе с родительскими категориями, используя параметр 'single':
$categories_list = get_the_category_list(', ', 'single');
echo '<p>Категории: ' . $categories_list . '</p>';
Результат:
<p>Категории:
<a href="/category/technology/programming" title="Просмотреть все записи в Программирование" rel="category tag">Технологии/Программирование</a>
</p>
Пример 4: Отображение родительских и дочерних категорий отдельно
Используя параметр 'multiple', можно отобразить родительские и дочерние категории в виде отдельных ссылок:
$categories_list = get_the_category_list(', ', 'multiple');
echo '<p>Категории: ' . $categories_list . '</p>';
Результат:
<p>Категории:
<a href="/category/technology" title="Просмотреть все записи в Технологии" rel="category tag">Технологии</a>,
<a href="/category/programming" title="Просмотреть все записи в Программирование" rel="category tag">Программирование</a>
</p>
Пример 5: Получение категорий для определённого поста
Если нужно вывести категории для определённой записи (не текущей в цикле), можно передать ID поста в параметр $post_id:
$post_id = 123; // ID поста
$categories_list = get_the_category_list(', ', '', $post_id);
echo '<p>Категории поста ' . $post_id . ': ' . $categories_list . '</p>';
Пример 6: Использование функции в теме WordPress
В теме WordPress можно использовать get_the_category_list() для вывода категорий, как это реализовано в теме Twenty Eleven:
$categories_list = get_the_category_list(', ');
echo sprintf( __( 'Эта запись была опубликована в %s.', 'twentyeleven' ), $categories_list );
Заключение
Функция get_the_category_list() предоставляет гибкий способ отображения категорий записи в WordPress. Вы можете настраивать вывод как в виде списка <ul>, так и разделяя категории любыми символами, а также выбирать, как отображать родительские и дочерние категории.