Как в WordPress применить такой же шаблон у подкатегорий как у родительской

К примеру у нас на сайте много категорий(рубрик), подкатегорий и мы хотим сделать шаблон для одной из рубрик верхнего уровня и чтобы он использовался у ее подкатегорий, так как добавлять один и тот же шаблон для всех подкатегорий(особенно если их много) не совсем удобно.

Для этого в конце файла 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

А как создать шаблон для определенной категории(рубрики), мы описывали в другой статье

Если у Вас что-либо не получается — можете задать вопрос в комментариях.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *