term_is_ancestor_of() — проверяет, является ли элемент таксономии родительским для другого конкретного элемента

Одним словом функция возвращает true, если первый указанный элемент таксономии $term1 является родительским для второго указанного элемента $term2 (не важно, на каком уровне вложенности он находится), если же это условие не выполняется, данный условный тег возвращает false.

term_is_ancestor_of( $term1, $term2, $taxonomy )
$term1
(целое число|объект) ID или объект родительского элемента таксономии,
$term2
(целое число|объект) ID или объект дочернего элемента,
$taxonomy
(строка) название таксономии, которой принадлежат указанные элементы;

Пример

Пример для рубрик, кстати, для них есть отдельная функция cat_is_ancestor_of().

if ( term_is_ancestor_of( 1, 4, 'category') ){
    echo 'Рубрика с ID = 4 является дочерней для рубрики с ID = 1';
}

Как известно, у меток post_tag нет иерархии (если только вы не модифицировали эту таксономию), а следовательно нет родительских и дочерних элементов, поэтому рассмотрим какую-нибудь произвольную таксономию, например product_cat (буду для удобства называть элементы этой таксономии категориями).

Суть следующего примера в том, чтобы выводить описание категории только для тех элементов, которые не являются дочерними элемента с ID = 4.

// заданный родительский элемент
$term1_id = 4;
 
// теперь нам нужно вытащить ID или объект текущей категории
$term2_obj = get_term_by( 'slug', get_query_var('term'), 'product_cat');
 
if ( !term_is_ancestor_of( $term1_id, $term2_obj, 'product_cat') ){
    term_description( $term2_obj->term_id, 'product_cat' ); // выводим описание
}

Все приведенные в примере функции и их описания вы найдете в документации WordPress на моем сайте.

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: