« Вернуться к статьям

Разные шаблоны для записей и рубрик

{ Опубликовано 09 мая 2009 }

Как известно, чтобы оформить по-другому какую-то отдельную рубрику, достаточно скопировать файл, отвечающий за вывод архивов или рубрик (archive.php или category.php), назвать его, например, category-5.php (цифра 5 — id рубрики), и сделать там все необходимые правки (они не затронут вид всех остальных рубрик). Однако отдельные записи в рубрике при этом будут использовать стандартный файл single.php, а значит стили и другие дополнительные параметры, которые нам нужны не будут отличатся от стандартных.

Но исправить это просто, не потребуется задавать вручную никаких условий вывода (см.  Сonditional Tags), достаточно скачать и активировать плагин Post Templates by Category.

По-умолчанию в плагине используется префикс 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)

Рубрика: WordPress

« Вернуться к статьям


Отзывов: 3 на «Разные шаблоны для записей и рубрик»

  1. Не работает плагин, не могу понять в чем дело
    WordPress 2.3.3, плагин активировал, поменял single-cat на category, создал темы.
    В категориях все отображается нормально http://otopim-dom.ru/category/katalog-oborudovaniya, а записи из этой категории используют дефолтный шаблон

  2. Скажите, у Вас два шаблона, category.php и category-#.php (с номером рубрики)? Посмотрите еще раз, может что-то упустили. Или пришлите на майл в контактах доступ к админке WP и FTP я посмотрю.
    Именно на WP 2.3.3 он должен работать, у меня работает с WP 2.7 (с более поздними версиями можно попробовать также этот плагин http://wordpress.org/extend/plugins/idealien-category-enhancements/)

  3. Можно все это делать и без плагина, достаточно в файле 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’);
    }
    ?>
    ну и создать нужные шаблоны с этими именами файлов.

Комментарии закрыты.