Коды всех смайликов «ВКонтакте» с обозначениями   •   Online-инструменты
432 просм
0 комм
Поделиться:

Задаем свой шаблон category для родительской и дочерних рубрик в WordPress

Делал я один сайт, в котором было несколько рубрик (около 20), и у каждой рубрики было еще несколько дочерних рубрик. Все бы ни чего, но у одной из главных рубрик было порядка 100 дочерних элементов, а задача стояла в том, чтобы как раз эту главную рубрику с ее дочерними разделами выделить своим уникальным дизайном.

Что приходит на ум? Использовать стандартный шаблон category.php и в нем перечислить все нужные нам рубрики, у которых мы хотим сменить оформление.

В целом решение неплохое, когда рубрик 5–10, но не когда их 100 и более.

Чтобы более красиво решить эту задачу, рекомендую вам воспользоваться следующим хаком.

Откройте файл functions.php в папке вашей темы и в самый низ вставьте:

add_filter("template_include", "custom_template");
function custom_template($template) {
	$main_cat_id = 30;
	if(cat_is_ancestor_of($main_cat_id, get_query_var("cat")) or is_category($main_cat_id)) {
		$new_template = locate_template(array("category-new.php"));
		return $new_template;
	}
	return $template;
}

Сохраните и отправьте файл обратно на сайт.

Здесь «30» – это ID главной рубрики, а «category-new.php» – название файла шаблона (должен лежать в корне вашей темы). Таким образом, к рубрике с ID, равным 30, и ко всем ее дочерним элементам будет привязан указанный файл шаблона.

Если вы хотите изменить шаблон только для дочерних рубрик, исключая главную, то из кода выше удалите:

 or is_category($main_cat_id)

Удачных вам разработок!

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария