Если вы создали отдельный шаблон для определенной категории, например, как на нашем сайте, категория Soft, и вам нужно, чтобы этот шаблон распространялся и на подкатегории, то для этого, нужно использовать фильтр template_include:
В файл functions.php, вашей темы на WordPress, добавим следующую функцию:
1 2 3 4 5 6 7 8 9 10 11 12 |
//Назначаем шаблон для категории и подкатегории add_filter( 'template_include', 'my_template',99 ); function my_template( $original_template ) { $categories = get_the_category(); $category_id = $categories[0]->category_parent;//Определяем корневую категорию if (cat_is_ancestor_of($category_id, get_queried_object_id())) return get_template_directory().'/category-template.php'; else return $original_template; } |
Эти строчки, можно и не писать, а указать в ручную id категории, но так более универсально.
1 2 3 4 |
$categories = get_the_category(); $category_id = $categories[0]->category_parent; |
Иногда полезно, при отладке, посмотреть, что выводит в массив та или иная функция, тогда используют вывод на экран, с помощью var_dump()
1 2 3 4 |
$categories = get_the_category(); var_dump($categories); |