vnt
  • 0
Учитель

Один шаблон категории для нескольких категорий

  • 0

у меня есть category-events.php, чтобы перечислить мои сообщения, помеченные как «события», но это не будет работать для дочерних категорий «события».

т.е. у меня есть несколько постов с тегами «события» и одно из «детских событий» «выставка». Я думал, что будет автоматически использоваться category-events.php, но это не так. Возможно ли это, поскольку я хочу использовать category-events.php для нескольких дочерних категорий «событий».

надеюсь, что это имеет смысл, и любые указатели приветствуются.

Дэн.

Share
  1. Сначала вставьте этот код в файл functions.php вашей темы.

    function post_is_in_descendant_category( $cats, $_post = null ){
        foreach ( (array) $cats as $cat ) {
            // get_term_children() accepts integer ID only
            $descendants = get_term_children( (int) $cat, 'category');
            if ( $descendants && in_category( $descendants, $_post ) )
                return true;
        }
        return false;
    }
    

    затем в вашем category.php или archive.php (зависит от вашей темы) в самом верху добавьте

    <?php if (post_is_in_descendant_category(33)){
     include (TEMPLATEPATH . '/category-events.php'); 
     exit;
    } ?>
    

    и измените 33 на идентификатор категории «события».

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

    • 0
    • использовал вышеуказанный штраф, пока не понял, что он не фильтрует подконтент категории. Он всегда загружает сообщения родительских категорий. то есть /events/ загружает события, но /events/exhibitions/ также просто загружает /events/. Как мы можем заставить его загружать шаблон родительской категории, но подкатегории

      • 0

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

You must login to add an answer.