get_the_taxonomies()
Получает все элементы всех таксономий связанных с записью. Получает массив HTML ссылок.
Получит таксономии в виде массива в значениях которого будут перечислены ссылки на термины, в которых находится указанная запись.
Используется в цикле WordPress.
Функцию удобно использовать, когда нужно показать все связи записи с любыми таксономиями, в которой эта запись находится.
Работает с постами, новыми типами записей и с произвольными таксономиями - полный комплект...
Используйте обертку этой функции — the_taxonomies(), чтобы получить результат готовую строку для вывода на экран, а не массив.
Хуков нет.
Возвращает
Строку[]
. Список таксономий, где ключ массива - это ярлык таксономии, а значение - это список элементов таксономии.
Использование
get_the_taxonomies( $post, $args );
- $post(число/WP_Post)
- ID или объект записи, связи с таксономиями которой нужно получить.
По умолчанию: 0 (текущая запись) - $args(массив)
Параметры по которым нужно выводить (форматировать вывод) список таксономий. Может быть:
-
template(строка)
Шаблон вывода списка. Где %s - название таксономии, а %l - список элементов в формате указанном в параметре$term_template
.
По умолчанию: '%s: %l.' - term_template(строка)
Формат вывода каждого элемента таксономии в списке. По умолчанию название термина, как ссылка на архив записей термина.
По умолчанию: '<a href="%1$s">%2$s</a>',
По умолчанию: array()
-
Примеры
#1 Демонстрация работы для обычного поста
$taxes = get_the_taxonomies( 119 ); /* $taxes будет содержать: Array ( [category] => Рубрики: <a href="ССЫЛКА">Кодекс</a>. [post_tag] => Метки: <a href="ССЫЛКА">loop</a> и <a href="ССЫЛКА">Новичкам</a>. ) */
#2 Демонстрация работы для типа записи с таксономиями
$taxes = get_the_taxonomies( 7363 ); /* $taxes будет содержать: Array ( [wpfunctag] => Метки функций: <a href="ССЫЛКА">upload</a>. [wpfunccat] => Категории функций: <a href="ССЫЛКА">Прочее</a>. ) */
#3 Изменим формат вывода
Чтобы изменить формат вывода, нужно указать параметры:
$taxes = get_the_taxonomies( 119, array( 'template' => 'Таксономия "%s": %l', 'term_template' => '<a href="%1$s" target="_blank">%2$s</a>', ) ); /* $taxes будет содержать: Array ( [category] => Таксономия "Рубрики": <a href="ССЫЛКА" target="_blank">Кодекс</a> [post_tag] => Таксономия "Метки": <a href="ССЫЛКА" target="_blank">loop</a> и <a href="ССЫЛКА" target="_blank">Новичкам</a> ) */
#4 Соберем все и выведем на экран в LI списке
Это аналог функции the_taxonomies()
$taxes = get_the_taxonomies( 119 ); if( $taxes ) echo "<ul>\n\t<li>". implode("</li>\n\t<li>", $taxes ) ."</li>\n</ul>";
Получим:
<ul> <li>Рубрики: <a href="ССЫЛКА">Кодекс</a>.</li> <li>Метки: <a href="ССЫЛКА">loop</a> и <a href="ССЫЛКА">Новичкам</a>.</li> </ul>
Список изменений
С версии 2.5.0 | Введена. |