bnd
  • 0
Новичок

Условный тег, влияющий на термин таксономии и его дочерние элементы?

  • 0

Мне интересно, как я могу написать условный тег, который влияет на пользовательский фрагмент таксономии и его дочерние элементы?

Нашел это в WordPress Codex:

is_tax( 'flavor', 'mild') 

Когда отображается страница архива для таксономии ароматов с слагом «мягкий».

Однако с этим кодом затрагивается только «мягкая» страница архива слагов, а не ее дочерние термины таксономии.

Спасибо!

Share
  1. У меня есть небольшая удобная функция, основанная на функции post_is_in_descendant_category, которая использует is_tax, чтобы проверить, является ли это термином или любым из его детей.

    function is_or_descendant_tax( $terms,$taxonomy){
        if (is_tax($taxonomy, $terms)){
                return true;
        }
        foreach ( (array) $terms as $term ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $term, $taxonomy);
            if ( $descendants && is_tax($taxonomy, $descendants) )
                return true;
        }
        return false;
    }
    

    и вы используете его точно так же вместо:

    is_tax('flavor', 'mild');

    вы ставите:

    is_or_descendant_tax(get_term_by( 'name', 'mild', 'flavor' ), 'flavor');

    или если вы используете идентификатор термина вместо имени, то:

    is_or_descendant_tax(12, 'flavor');

    и вы настроены.

    • 0

Оставить ответ

You must login to add an answer.