Разные шаблоны для категорий (рубрик) в WordPress
Я последнее время начал часто зависать на официальном русскоязычном форуме WordPress и решил писать статьи по вопросам, которые там задают. Надеюсь хоть кто-то посещает этот блог 🙂
Вопрос был следующий : «как для разных страниц записей и категорий(рубрик) выводить определенный шаблон?». Почему люди не умеют гуглить?
Немножко погуглив я легко нашел решение этой задачи. Просто написать ответ на том форуме не есть хорошо, я решил написать полную статью об этом и показать её вам.
Шаблон для категории
Иерархия шаблонов
WordPress обладает мощной системой шаблонов. Тема может использовать различные шаблоны для различных разделов сайта. Перед отображением страницы WordPress проводит поиск нужного шаблона, перебирая их в определённой последовательности. Для вывода архива конкретной рубрики последовательность такова:
category-slug.php -> category-id.php -> category.php -> archive.php -> index.php
Сначала WordPress пытается открыть шаблон, специфичный для данной рубрики, используя её строку-идентификатор (slug). Например, для рубрики ‘Дизайн’ со строкой-идентификатором ‘design’ индивидуальный шаблон должен находиться в файле category-design.php. Если шаблон вида category-slug.php не найден, следующая попытка — открытие шаблона с числовым идентификатором рубрики, например category-6.php. Затем происходит попытка открыть общий шаблон для всех рубрик — category.php. Если же и он отсутствует — задействуется общий шаблон архивов, т.е. archive.php. И наконец, когда ни один из них не обнаружен, для отображения рубрики используется index.php.
Вариант 1
- Заходим в админку WP в раздел с категориями (Записи > Рубрики) и узнаем slug требуемой категории (жмем «Редактировать» возле категории, открывается страница редактирования рубрики, там вы увидите поле «Ярлык» это и есть slug. Предположим что наша категория называется «Блог», а ярлык, он же slug, у неё «blog»
- Теперь создаем файл и называем его «category-blog.php». Не трудно догадаться, что blog — это slug требуемой категории. В Вашем случае slug явно будет другим.
Вариант 2
- Заходим в админку WP в раздел с категориями (Записи > Рубрики) и узнаем ID требуемой категории (жмем «Редактировать» возле категории, открывается страница, адрес которой в браузере выглядит приблизительно так: http://www.АДРЕС_ВАШЕГО_САЙТА/wp-admin/categories.php?action=edit&cat_ID=32). Цифры в конце ссылки и есть ID категории. Для примера возьмем вымышленную категорию с ID=32.
- Создаем файл и называем его «category-32.php». Не трудно догадаться, что 32 — это ID требуемой категории. В Вашем случае ID явно будет другим.
Всё! Осталось только сверстать свежеиспеченный файл под ваш вкус и категория, которую Вы указали, будет выглядеть не так, как все.