get_the_term_list()

Возвращает список элементов указанной таксономии, присвоенных к указанному посту в виде HTML-ссылок.

Если у поста нет терминов указанной таксономии, вернёт false.

Если было передано название несуществующей таксономии, вернёт объект WP_Error.

Если вам недостаточно параметров этой функции, чтобы вывести термины в нужном формате, то рекомендую обратить внимание на функцию get_the_terms().

get_the_term_list( $post_id, $taxonomy, $before = '', $sep = '', $after = '' )

Параметры

$post_id
(целое) ID поста, термины которого нужно получить.
 
Если хотите вывести термины текущего поста в цикле, передайте в этот параметр функцию get_the_ID().
$taxonomy
(строка) Название таксономии.
$before
(строка) Текст или HTML, который добавляем перед терминами.
$sep
(строка) Чем разделить ссылки, по умолчанию не разделяются ничем.
$after
(строка) Текст или HTML, который добавляем после списка терминов.

Примеры

Базовый пример получения рубрик текущего поста:

echo get_the_term_list( get_the_ID(), 'category', 'Рубрики: ', ', ' );
// Рубрики: <a href="http:// ... /cat-1">Рубрика 1</a>, <a href="http:// ... /cat-2">Рубрика 2</a>, ...

Если вдруг вы хотите вывести список текстом, без ссылок, то можно воспользовать PHP-функцией strip_tags().

echo strip_tags( get_the_term_list( get_the_ID(), 'category', 'Рубрики: ', ', ' ) );
// Рубрики: Рубрика 1, Рубрика 2

Ещё вариант – можно немного заморочиться и вывести рубрики в виде маркированного списка <ul>.

echo get_the_term_list( 
	get_the_ID(), 
	'category', 
	'<ul class="cats"><li>', // добавляем в начале
	'</li><li>', // разделитель
	'</li></ul>' // добавляем в конце
);
/*
<ul class="cats">
    <li><a href="http:// ... /cat-1">Рубрика 1</a></li> 
    <li><a href="http:// ... /cat-2">Рубрика 2</a></li>
</ul>
*/

Хуки

Перед тем, как массив ссылок будет объединён в одно целое, у нас есть возможность изменить его этим фильтром.

С версии 2.5.0

$term_links = apply_filters( "term_links-{$taxonomy}", $links );

Например удалим первый элемент массива:

add_filter( 'term_links-category', 'true_remove_first_link' );
 
function true_remove_first_link( $links ) {
	array_shift( $links );
	return $liniks;
}

Не знаете, как работать с фильтрами?

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

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