Как сделать несколько шаблонов для категорий в WordPress

Есть у меня один сайт, который с недавнего времени я решил перенести на WordPress. В процессе переноса столкнулся с такой задачей: в новом макете у меня было три способа вывода данных. Первый для новостей, второй для статей, а третий для фотографий. Понятно, что в одном файле это сделать сложно, поэтому нашел простое решение этой задачи.

Все сводится к тому, что для каждого типа вывода мы создаем отдельный файл на базе файла category.php. Чтобы было понятно, у нас этот файл находится с папке с нашей темой. Этот файл отвечает за вывод данных по категориям. И вот тут мы это можем использовать. В моем случае три разных шаблона для вывода, значит, нам надо три файла с соответствующим шаблоном.

Как сделать, чтобы при выводе определенной категории подключался нужный шаблон. Файл category.php оставим для вывода всех прочих категорий. В моем случае «все прочие», это новости, поэтому я его сверстал под вывод новостей. Далее есть категория Статьи. Чтобы подключить к ней наш шаблон, надо узнать ее ID. Узнать это мы можем в разделе редактирования этой категории (рубрики):

category_ID

В примере мы видим ID категории — 7. Чтобы к этой категории применить наш шаблон, надо создать файл и обозвать его category-7.php, где 7 — ID категории. Таким образом мы можем создавать огромное количество разных шаблонов вывода данных и подключать их к любой категории.

UPD.

Вышеописанный способ хорош, но есть у него одна проблема, а именно: в названии файла category вы задаете строго ID нужной категории, но по разным причинам, ID категории может быть изменен. Например, на локальном сервере у вас ID категории для вывода Видео будет равен 4, а когда перенесете на хостинг — 2.

Чтобы избежать редактирования имени файла на хостинге, вам нужно сделать чуть иначе. При создании Рубрики, вы заполняете несколько полей: Название и Ярлык. С Названием все понятно, а вот поле Ярлык — это ссылка ЧПУ, т.е. тут для категории Видео надо писать video.

Теперь нам надо сделать следующее: файл для вывода категории видео надо обозвать вот так — category-video.php. И теперь уже не важно какой ID будет у категории. Теперь в этом шаблоне будет выводиться категория (рубрика) с ярлыком video.

Это очень удобно, ведь мы теперь не привязаны к ID. И при переносе сайта с локального сервера на хостинг, нам достаточно будет создать категорию (рубрику) Видео и указать ей ярлык video и все.


 

Читайте также: Как сделать несколько шаблонов для записей в WordPress