WP_GET_TERM_TAXONOMY_PARENT_ID(): Как получить идентификатор родительского элемента в WordPress.

WP_GET_TERM_TAXONOMY_PARENT_ID() │ WP 3.1.0

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

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

Функция вызывается следующим образом:

$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );

Параметры

  • $term_id (int) (обязательный) — Идентификатор термина.
  • $taxonomy (string) (обязательный) — Название таксономии.

Возвращаемое значение

Функция возвращает:

  • int — Идентификатор родительского термина в случае успеха,
  • false — Если произошла ошибка.

Примеры использования

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

Предположим, у нас есть таксономия с именем my_tax, где у термина с ID=5 есть дочерний термин с ID=10. Чтобы получить ID родительского термина, используем:

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

Это можно сделать и другим способом:

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

2. Получение идентификатора верхнего родительского элемента

Если требуется получить ID верхнего родителя для данного термина, можно использовать цикл:

$term_id = 10; // ID дочернего термина

while( $parent_id = wp_get_term_taxonomy_parent_id( $term_id, 'my_tax' ) ){
    $term_id = $parent_id;
}

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

Код функции

Вот как выглядит код самой функции wp_get_term_taxonomy_parent_id():

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

Похожие функции

Here are some related functions that you might find useful:

  • category_exists()
  • get_term()
  • get_term_by()
  • get_terms()
  • has_term()

Каждая из этих функций может пригодиться при работе с терминами и таксономиями в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *