wp_get_term_taxonomy_parent_id()
Получает 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 элемент.
Примеры
#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;
#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 get term taxonomy parent id WP 6.6.2
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; }