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

27
Июль
2011

Разные шаблоны для категорий и страниц записей в WordPress

На днях, при верстке сайта под WordPress, я столкнулся с вопросом: «как для разных страниц записей и, соответственно, категорий выводить определенный шаблон?». Решение не заставило себя долго ждать и немножко поgoooogleв, я нашел как провернуть эту манипуляцию. Но, просто узнать и запомнить о данном решении мне мало, и я хочу поделиться этим со своими читателями. Возможно, кто-то и знает об этих методах, тогда он молодец! :-D

Не знаю, может в WordPress 3.x этот вопрос можно решить в несколько кликов, но я, по крайней мере, не в теме. Так что будем реализовывать проверенными методами.

Шаблон для категории

Все мы знаем, что для отображения категорий могут использоваться шаблоны: «category.php», «archive.php», «index.php». Но так как «category.php» не часто встречается в темах WP, то используются обычно два остальных файла.

Давайте начнем!

  1. Для начала заходим в админку WP в раздел с категориями (Записи > Рубрики) и узнаем ID требуемой категории (жмем «Редактировать» возле категории, открывается страница, адрес которой в браузере выглядит приблизительно так: http://www.АДРЕС_ВАШЕГО_САЙТА/wp-admin/categories.php?action=edit&cat_ID=32). Цифры в конце ссылки и есть ID категории. Для примера возьмем вымышленную категорию с ID=32.
  2. Теперь создаем файл и называем его «category-32.php». Не трудно догадаться, что 32 - это ID требуемой категории. В Вашем случае ID явно будет другим.

Также мною лично было проверено, что вместо ID можно использовать название ссылки категории. К примеру, категория с ID=32 называется «Портфолио» и её ссылка (которая указывалась при создании) имеет название «portfolio». Тогда название файла шаблона будет таким: «category-portfolio.php». По крайней мере, у меня все сработало :)

Всё! Осталось только отверстать свежеиспеченный файл под ваш вкус и категория, которую Вы указали, будет выглядеть не так, как все.

Шаблон для страницы записи

Для страницы записи собственный шаблон задается немножко по другому. Для этого вам нужно:

  1. Создать файл шаблона и назвать его «single-portfolio.php»;
  2. Сделать копию файла «single.php» и назвать её, к примеру, «single-default.php».
  3. Открыть файл «single.php», удалить все содержимое и вставить следующий код:
<?php
  $post = $wp_query->post;

  if (in_category('32')) {
      include(TEMPLATEPATH.'/single-portfolio.php');
  } else {
      include(TEMPLATEPATH.'/single-default.php');
  }
?>

или вместо ID категории можете вставить название ссылки категории:

<?php
  $post = $wp_query->post;

  if (in_category('portfolio')) {
      include(TEMPLATEPATH.'/single-portfolio.php');
  } else {
      include(TEMPLATEPATH.'/single-default.php');
  }
?>

Как видите, мы указываем WP: если категория с ID=32 (или с названием «portfolio» - см. 2 вариант кода), тогда следует использовать шаблон для страниц записей «single-portfolio.php», но если категория имеет другой ID, тогда следует использовать шаблон «single-default.php».

И на этом также всё, Вам осталось только отверстать файл «single-portfolio.php» и все записи в указанной категории будут иметь свой вид.

Конечно же, можете называть файлы как хотите, кроме «single.php».

Надеюсь, Вам все было понятно. Если что, спрашивайте в комментариях! ;)

Запланирована свадьба? Не определились еще с фотографом? Фотограф на свадьбу в Самаре нужен?

Подписаться на RSSВы можете подписаться на RSS или на E-mail рассылку:

Оставить комментарий с помощью формы ВКонтакте

Комментариев (56) к “Разные шаблоны для категорий и страниц записей”

  1. Диана пишет:

    ой,а если у меня этих категорий около тысячи?
    Нужен плагин какой-то автоматом ставить, вот в Joomla попроще с этим.

  2. Андрей пишет:

    Подскажите в какой директории создавать файл category-32.php

  3. Андрей пишет:

    Ясно я путаю шаблон с темой, не знаете как к категории прикрутить другую тему?

  4. Richi пишет:

    хм. если нужно пару страниц затемизировать – самое то. спасиб

  5. Иришка пишет:

    Отличный мануальчик. Сделала для категории видео чуть другой шаблон, без отображения большой миниатюры-всё работает :) проверено Иришкой :) )

  6. Добрый день! Отличная статья.
    Подскажите пожалуйста, как можно сделать, чтобы у каждой рубрики свой фон был. Как подключить туда свой css файл? Спасибо!

  7. Сергей пишет:

    Наконец-то нашел где подробно разжевано как это делать. Спасибо, все оказалось элементарно.

  8. Олег пишет:

    Огромное спасибо! *DRINK*

  9. Станислав пишет:

    Я не до конца понял…
    это лишь внешний вид…

    Вопрос: Возможно ли создать вторую страницу и постить записи на нее? (другими словами: главная – новостной блог, 2-я страница личный блог, и как поместить запись именно во второю страницу, ведь при создании записи, она по дефолту попадает на 1-ю страницу)

    Может кто-либо подсказать?
    С уважением, Станислав.

  10. Facepook пишет:

    Вот спасибо, а я из за этого с ДЛЕ не хотел уходить, теперь все будет в норме :)
    Автору спасибо!