Может быть кто-то сталкивался с такой необходимостью, как применение одного шаблона для родительской рубрики и её подрубрик. И это притом, чтобы не затрагивать шаблон категорий по умолчанию category.php.
То есть, создается шаблон для определённой рубрики WordPress, в которой есть подрубрики. И нужно сделать так, чтобы все эти подрубрики использовали шаблон родительской темы.
Конечно, можно было бы для каждой категории создать копию шаблона родительской рубрики, и сделать это через условия в одном шаблоне. Но это слишком нагромождено и неудобно.
Шаблон для рубрик и подрубрик. Решение
Есть более простой способ решить эту задачу, не прибегая к многочисленным копиям шаблона. Просто добавьте в свой файл functions.php следующий код:
function new_subcategory_hierarchy() {
$category = get_queried_object();
$parent_id = $category->category_parent; // ID родителя
$templates = array();
if ($parent_id == 0) {
// Если родителя нет, используем значения по умолчанию
$templates[] = "category-{$category->slug}.php";
$templates[] = "category-{$category->term_id}.php";
$templates[] = 'category.php';
} else {
// Создаем массив $templates на замену стандартному
$parent = get_category($parent_id);
// Если для текущей рубрики определены файлы шаблона, они будут использованы в первую очередь
$templates[] = "category-{$category->slug}.php";
$templates[] = "category-{$category->term_id}.php";
// Потом только файлы шаблонов родительской рубрики
$templates[] = "category-{$parent->slug}.php";
$templates[] = "category-{$parent->term_id}.php";
$templates[] = 'category.php';
}
return locate_template($templates);
}
add_filter('category_template', 'new_subcategory_hierarchy');