WordPress как на ладони
wordpress jino

wp_get_term_taxonomy_parent_id() WP 3.1.0

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

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

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

Хуков нет.

Возвращает

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

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

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

Примеры

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

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

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

#2 Замена функции

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

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

#3 Получим 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;

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

Код wp get term taxonomy parent id: wp-includes/taxonomy.php VER 4.9.1

<?php
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;
}

Cвязанные функции

Из метки: term (термины таксономий)

Еще из раздела: Любые таксономии

wp_get_term_taxonomy_parent_id 2 комментария
  • campusboy1951 cайт: www.youtube.com/c/wpplus

    Интересно, почему сюда не сделали проверку: если передан объект, взять оттуда значение, если цифру - то уже делать запрос. Функция стала бы более универсальной.

    Ответитьгод назад #
    • Kama4697

      Так и есть вообще-то с недавних пор... Дополнил описание параметра... thank_you

      Ответитьгод назад #

Здравствуйте, !

Ваш комментарий