Шаблон рубрики для подрубрик


Всем известно, что для оформления отдельной рубрики, достаточно создать копию файла category.php или archive.php, назвать ее category-ID.php, где ID — номер требуемой рубрики, и произвести там необходимые изменения.
Однако, если есть множество подрубрик, и есть желание применить оформление только к этой группе и нет желания создавать кучу файлов с номерами подрубрик, поможет простая вставка следующего кода в файл functions.php.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function child_force_category_template($template) {
 
    $cat = get_query_var('cat');
    $category = get_category ($cat);
 
    if ( file_exists(TEMPLATEPATH . '/category-' . $category->cat_ID . '.php') ) {
        $cat_template = TEMPLATEPATH . '/category-' . $category ->cat_ID . '.php';
    }
    elseif ( file_exists(TEMPLATEPATH . '/category-' . $category->category_parent . '.php') ) {
        $cat_template = TEMPLATEPATH . '/category-' . $category->category_parent . '.php';
    }
    else{
        $cat_template = $template;
    }
  return $cat_template;
}
add_action('category_template', 'child_force_category_template');

На версии WordPress 3.1 работает отлично, на более ранних по-видимому тоже, т.к. решение было опубликовано на официальном форуме WordPress еще год назад.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s