wp_get_term_taxonomy_parent_id() — позволяет получить ID родительского элемента таксономии

Функция возвращает ID родительского элемента таксономии (например ID родительской рубрики), находящегося на следующем уровне иерархии.

wp_get_term_taxonomy_parent_id( $term_id, $taxonomy )
$term_id
(целое число) ID дочернего элемента таксономии,
$taxonomy
(строка) название таксономии, например category (рубрики);

Примеры

Во всех примерах в качестве таксономиии я использую category (рубрики), но совсем не обязательно должны быть именно рубрики. Это может быть любая таксономия с иерархией.

$parent_category = wp_get_term_taxonomy_parent_id( 22, 'category' );

Кстати, точно такого же результата можно добиться и при помощи функции get_term(), на самом деле wp_get_term_taxonomy_parent_id() и работает на ее основе. Вот как это будет:

$category = get_term( 22, 'category');
$parent_category = $category->parent;

Получение ID родительской рубрики верхнего уровня

Как же получить ID элемента, который находится на самом верху иерархии?

$category = 34; // в эту переменную записываем ID дочернего элемента таксономии
while( $temp = wp_get_term_taxonomy_parent_id( $category, 'category' )) {
	$category = $temp;
}
echo $category;

Этот код я придумал на ходу, возможно есть и более оптимальное решение.

Миша

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2019 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, в случае несоблюдения этого условия в 99% случаях ваш коммент будет удалён, а автор заблокирован. Печалька.