Функция get_the_term_list()
используется для получения списка терминов (элементов) указанной таксономии, связанных с записью. Она возвращает термины в формате ссылок на страницы архивов терминов и позволяет гибко управлять выводом благодаря параметрам, таким как текст до и после списка, а также разделитель между элементами.
get_the_term_list( int $post_id, string $taxonomy, string $before = '', string $sep = '', string $after = '' ): string|false|WP_Error
Описание параметров
- $post_id (обязательный)
ID записи, для которой нужно получить список терминов. - $taxonomy (обязательный)
Название таксономии, термины которой нужно получить (например,category
,post_tag
или пользовательские таксономии). - $before (опциональный)
Текст, который будет показан перед списком терминов.
По умолчанию:''
- $sep (опциональный)
Строка-разделитель, которая будет использоваться между терминами.
По умолчанию:''
- $after (опциональный)
Текст, который будет показан после списка терминов.
По умолчанию:''
Возвращаемое значение
- string — список элементов таксономии в виде ссылок на страницы архивов.
- false — если у записи нет терминов в указанной таксономии.
- WP_Error — в случае ошибки (например, если таксономия не существует).
Пример 1: Получение списка меток (tags)
Этот пример выводит список меток (таксономия post_tag
) для записи с ID 42. Список будет выведен через запятую:
echo get_the_term_list( 42, 'post_tag', 'Метки: ', ', ', '' );
Результат:
Метки: <a href="https://example.com/tag/wordpress">WordPress</a>, <a href="https://example.com/tag/php">PHP</a>, <a href="https://example.com/tag/coding">Кодинг</a>
Пример 2: Вывод элементов произвольной таксономии
Выведем термины произвольной таксономии genres
для записи с ID 1234. Разделим термины символом |
:
echo get_the_term_list( 1234, 'genres', 'Жанры: ', ' | ', '' );
Результат:
Жанры: <a href="https://example.com/genre/rock">Рок</a> | <a href="https://example.com/genre/pop">Поп</a> | <a href="https://example.com/genre/jazz">Джаз</a>
Пример 3: Вывод UL списка терминов
Выведем элементы таксономии genres в виде списка с маркировкой (<ul>
):
echo get_the_term_list( $post->ID, 'genres', '<ul class="genres-list"><li>', '</li><li>', '</li></ul>' );
Результат:
<ul class="genres-list">
<li><a href="https://example.com/genre/pop">Поп</a></li>
<li><a href="https://example.com/genre/jazz">Джаз</a></li>
</ul>
Пример 4: Вывод списка без ссылок
Для вывода списка терминов без ссылок, можно использовать функцию strip_tags()
. Например, для таксономии job_titles
:
echo strip_tags( get_the_term_list( $post->ID, 'job_titles', '', ', ' ) );
Результат:
Дизайнер, Front-end разработчик, Разработчик
Пример 5: Использование внутри Цикла WordPress
Функция может использоваться внутри стандартного Цикла WordPress. Пример кода для вывода терминов таксономии category
:
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
echo get_the_term_list( get_the_ID(), 'category', 'Категории: ', ', ', '' );
}
}
Этот код будет выводить список категорий для каждой записи внутри цикла.
Заключение
Функция get_the_term_list()
является мощным инструментом для вывода терминов таксономий в различных форматах. Она особенно полезна для гибкой настройки вывода меток, категорий или элементов произвольных таксономий. Используя параметры before
, sep
и after
, можно легко изменять формат представления данных в зависимости от нужд вашего проекта.