wp_get_term_taxonomy_parent_id()WP 3.1.0

Получает ID родительского элемента таксономии (термина) к указанному.

Если у вас есть готовый объект термина, то ID родителя находится в параметре parent: $term->parent

Работает на основе: get_term()

Хуков нет.

Возвращает

int|false. Число/логическое: ID родительского термина или false.

Использование

wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
$term_id(число/WP_Term) (обязательный)
ID или объект термина, ID родителя которого нужно получить.
$taxonomy(строка) (обязательный)
Название таксономии в которой находится указываемый в $term_id элемент.

Примеры

0

#1 Получим ID родительского элемента таксономии

Допустим у нас есть таксономия 'my_tax' в которой есть термин с ID=5 и у него есть дочерний термин с ID=10, тогда:

echo wp_get_term_taxonomy_parent_id( 10, 'my_tax' );
// выведет: 5

Так как функция получает термин с помощью get_term() и проверяет его родителя, то родительский ID можно получить и таким кодом:

$parent_term_id = get_term( 10, 'my_tax' )->parent ?? 0;
echo $parent_term_id;
0

#2 Получим ID родительского термина верхнего уровня

Код перебирает всех родителей указанного термина, пока не достигнет верхнего уровня. В итоге мы получим ID родительского термина верхнего уровня:

$term_id = 5; // ID дочернего термина
while( $parent_id = wp_get_term_taxonomy_parent_id( $term_id, 'my_tax' ) ){
	$term_id = $parent_id;
}

if( $term_id == 5 )
	echo 'У термина нет родительских элементов.';
else
	echo 'ID родителя верхнего уровня: '. $term_id;

Пример взят с этой страницы.

Список изменений

С версии 3.1.0 Введена.

Код wp_get_term_taxonomy_parent_id() WP 6.4.3

function wp_get_term_taxonomy_parent_id( $term_id, $taxonomy ) {
	$term = get_term( $term_id, $taxonomy );
	if ( ! $term || is_wp_error( $term ) ) {
		return false;
	}
	return (int) $term->parent;
}