Заставьте подкатегории Wordpress использовать Шаблон Категории

У меня есть шаблон категории: категория-projects.php

Эта категория имеет подкатегории, но они обращаются к шаблону category.php для инструкций вместо родительской категории. Как я заставляю подкатегории относиться для порождения шаблонов категории в каскадном порядке шаблонных ссылок?

*Примечание, я говорю о URL уровня категории, не сообщениях.

8
задан Matrym 25 June 2010 в 01:10
поделиться

2 ответа

Один из способов сделать это - подключиться к действию template_redirect в вашем файле functions.php :

function myTemplateSelect() {
    if (is_category() && !is_feed()) {
        if (is_category(get_cat_id('projects')) || cat_is_ancestor_of(get_cat_id('projects'), get_query_var('cat'))) {
            load_template(TEMPLATEPATH . '/category-projects.php');
            exit;
        }
    }
}

add_action('template_redirect', 'myTemplateSelect');
13
ответ дан 5 December 2019 в 11:22
поделиться

Насколько я знаю, согласно иерархии шаблонов wp, category-samplecat.php применим только к категории с именем slug "samplecat". Поэтому сделать это таким образом невозможно.

Но в файле category.php (который применяется к каждой категории, не имеющей специального файла шаблона) вы можете сделать условную проверку, является ли текущая категория дочерней по отношению к "проекту" (этот метод использован в моем ответе на ваш другой вопрос) и если да, то вы можете применить к ней ту же структуру category-projects.php или включить category-projects.php.

1
ответ дан 5 December 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: