К примеру у нас на сайте много категорий(рубрик), подкатегорий и мы хотим сделать шаблон для одной из рубрик верхнего уровня и чтобы он использовался у ее подкатегорий, так как добавлять один и тот же шаблон для всех подкатегорий(особенно если их много) не совсем удобно.
Для этого в конце файла functions.php добавляем код:
function load_cat_parent_template($template) { $cat_ID = absint( get_query_var('cat') ); $category = get_category( $cat_ID ); $templates = array(); if ( !is_wp_error($category) ) $templates[] = "category-{$category->slug}.php"; $templates[] = "category-$cat_ID.php"; // trace back the parent hierarchy and locate a template if ( !is_wp_error($category) ) { $category = $category->parent ? get_category($category->parent) : ''; if( !empty($category) ) { if ( !is_wp_error($category) ) $templates[] = "category-{$category->slug}.php"; $templates[] = "category-{$category->term_id}.php"; } } $templates[] = "category.php"; $template = locate_template($templates); return $template; } add_action('category_template', 'load_cat_parent_template');
Сам файл находится здесь:
корень_сайта/wp-content/themes/название_выбранного_шаблона/template-parts/functions.php
А как создать шаблон для определенной категории(рубрики), мы описывали в другой статье
Если у Вас что-либо не получается — можете задать вопрос в комментариях.