Функция get_term_parents_list()
в WordPress предоставляет возможность получить список родительских терминов для указанного термина таксономии, объединенных с помощью заданного разделителя. Это особенно полезно для создания навигационных цепочек, таких как хлебные крошки, в страницах архивов таксономий.
get_term_parents_list( int $term_id, string $taxonomy, string|array $args = array() ): string|WP_Error
Описание
Функция извлекает и возвращает список родителей для заданного термина в виде строки. В зависимости от параметров, это может быть просто текст или ссылки на термины, разделенные указанным разделителем.
Параметры
- $term_id (int) — ID термина. Это обязательный параметр.
- $taxonomy (string) — Название таксономии, с которой будет работать функция. Это обязательный параметр.
- $args (string|array) — Массив опциональных аргументов:
- format (string) — Формат вывода:
'name'
(имя термина) или'slug'
(ярлык термина). По умолчанию —'name'
. - separator (string) — Разделитель между терминами. По умолчанию —
'/'
. - link (bool) — Форматировать ли вывод как ссылки. По умолчанию —
true
. - inclusive (bool) — Включать ли текущий термин в список. По умолчанию —
true
.
- format (string) — Формат вывода:
Возвращаемые значения
Функция возвращает строку с именами или ярлыками родителей, разделенными указанным разделителем. В случае ошибки возвращается объект WP_Error
.
Пример 1: Получение списка родительских элементов таксономии
Рассмотрим следующую иерархию категорий:
- Животные (ID: 100)
- Млекопитающие (ID: 101)
- Кошки (ID: 102)
- Сиамская кошка (ID: 103)
Чтобы получить список родительских терминов для термина с ID 103:
$term_id = 103;
$taxonomy = 'category';
echo get_term_parents_list( $term_id, $taxonomy, array(
'separator' => ' / ',
) );
Результат будет:
<a href="/category/mammals">Млекопитающие</a> / <a href="/category/animals">Животные</a> /
Пример 2: Получение списка родительских элементов без ссылок
Если вы хотите получить тот же список, но без ссылок, установите параметр link
в false
:
echo get_term_parents_list( $term_id, $taxonomy, array(
'separator' => ' / ',
'link' => false,
) );
Результат:
Млекопитающие / Животные /
Пример 3: Использование формата slug
Если вам нужно получить родительские термины в формате ярлыков, установите параметр format
в slug
:
echo get_term_parents_list( $term_id, $taxonomy, array(
'separator' => ' / ',
'format' => 'slug',
'link' => false,
) );
Результат:
mammals / animals /
Пример 4: Включение текущего термина в список
Если вы хотите включить текущий термин в список, установите параметр inclusive
в true
:
echo get_term_parents_list( $term_id, $taxonomy, array(
'separator' => ' / ',
'inclusive' => true,
) );
Результат:
<a href="/category/siamese">Сиамская кошка</a> / <a href="/category/mammals">Млекопитающие</a> / <a href="/category/animals">Животные</a> /
Пример 5: Хлебные крошки для страниц таксономий
Функция get_term_parents_list()
часто используется для создания хлебных крошек. Например, можно использовать ее в шаблонах архивов категорий:
if ( is_category() ) {
$query_obj = get_queried_object();
$term_id = $query_obj->term_id;
echo get_term_parents_list( $term_id, 'category' );
}
На странице термина «Сиамская кошка» это может напечатать:
Млекопитающие / Животные / Сиамская кошка
Заключение
Функция get_term_parents_list()
является мощным инструментом для работы с иерархическими таксономиями в WordPress. Она позволяет легко создавать навигационные цепочки и хлебные крошки, что улучшает пользовательский опыт на сайте. Благодаря различным параметрам настройки, вы можете адаптировать вывод под свои нужды, включая использование ссылок, форматов и разделителей.