Разные шаблоны для записей и рубрик
Как известно, чтобы оформить по-другому какую-то отдельную рубрику, достаточно скопировать файл, отвечающий за вывод архивов или рубрик (archive.php или category.php), назвать его, например, category-5.php (цифра 5 — id рубрики), и сделать там все необходимые правки (они не затронут вид всех остальных рубрик). Однако отдельные записи в рубрике при этом будут использовать стандартный файл single.php, а значит стили и другие дополнительные параметры, которые нам нужны не будут отличатся от стандартных.
Но исправить это просто, не потребуется задавать вручную никаких условий вывода (см. ), достаточно скачать и активировать плагин .
По-умолчанию в плагине используется префикс single-cat для отдельного шаблона страницы. Т.е., если вы хотите применить определенный стиль ко всем записям в рубрике 5, то файл шаблона будет выглядеть single-cat-5.php. Вы можете поменять этот префикс в коде плагина:
/* >> Begin user-configurable variable >> */ define('SZUB_TEMPLATENAME_PREFIX', 'single-cat'); /* < < End user-configurable variable << */
Например, можно указать вместо single-cat префикс category, тогда при просмотре отдельных записей конкретной рубрики будут применятся те же стили, что и для вывода записей в самой рубрике (используется созданный нами ранее файл category-5.php)
Отзывов: 3 на «Разные шаблоны для записей и рубрик»
Комментарии закрыты.
Не работает плагин, не могу понять в чем дело
WordPress 2.3.3, плагин активировал, поменял single-cat на category, создал темы.
В категориях все отображается нормально , а записи из этой категории используют дефолтный шаблон
Скажите, у Вас два шаблона, category.php и category-#.php (с номером рубрики)? Посмотрите еще раз, может что-то упустили. Или пришлите на майл в контактах доступ к админке WP и FTP я посмотрю.
Именно на WP 2.3.3 он должен работать, у меня работает с WP 2.7 (с более поздними версиями можно попробовать также этот плагин )
Можно все это делать и без плагина, достаточно в файле single.php прописать условия типа:
post;
if (in_category(‘1’)) {
include(TEMPLATEPATH . ‘/single-news.php’);
} elseif (in_category(‘8’)) {
include(TEMPLATEPATH . ‘/single-game.php’);
} else {
include(TEMPLATEPATH . ‘/single-video.php’);
}
?>
ну и создать нужные шаблоны с этими именами файлов.