К примеру у нас на сайте много категорий(рубрик), подкатегорий и мы хотим сделать шаблон для одной из рубрик верхнего уровня и чтобы он использовался у ее подкатегорий, так как добавлять один и тот же шаблон для всех подкатегорий(особенно если их много) не совсем удобно.
Для этого в конце файла 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
А как создать шаблон для определенной категории(рубрики), мы описывали в другой статье
Если у Вас что-либо не получается — можете задать вопрос в комментариях.
