Использование разных шаблонов отображения контента в одной теме Wordpress
Задача: Необходимо использовать разные шаблоны страниц и категорий для отображения информации в блоге. Т.е. если у вас есть блог и вы хотели бы добавлять видео/аудио/картинки, но так, чтобы эти странички кардинально отличались от существующего блога (разметка, дизайн и т.д.). Такая же система использована на Themebot.ru
Решение:
Создаем файлы отвечающие за вывод рубрик: category-blog.php и category-video.php и копируем в них содержимое существующего файла category.php.
Создаем файлы отвечающие за вывод записей: single-blog.php и single-video.php и копируем в них содержимое существующего файла single.php.
В файл category.php вставляем следующий код:
<?php
$id-video = array(1,2,55); # Пишем ID категорий, относящихся к видео
if ( have_posts() ) { the_post(); rewind_posts(); }
if ( in_category($id-video)) { include(TEMPLATEPATH . '/category-video.php');
} else {
include(TEMPLATEPATH . '/category-blog.php');
}
?>
Таким образом если мы переходим в категорию с ID=1,2 или 55, то загрузится шаблон category-video.php. Если же это будет другой ID, то загрузится шаблон category-blog.php.
Шаблоны category-video.php и category-blog.php можно отредактировать по своему вкусу.
Также мы поступаем и с single.php. Для начала внутрь вставляем код:
<?php
$id-video = array(1,2,55); # Пишем ID категорий, относящихся к видео
if ( have_posts() ) { the_post(); rewind_posts(); }
if ( in_category($id-video)) { include(TEMPLATEPATH . '/single-video.php');
} else {
include(TEMPLATEPATH . '/single-blog.php');
}
?>
Код абсолютно идентичен первому варианту, меняются только названия. Теперь при обращении к записи, находящейся в категории с ID=1,2 или 55 загрузится шаблон single-video.php. Если же запись из категории с другим ID будет отображаться при помощи single-blog.php.
Вот и все, получается нечто вроде:





Выскажи свое мнение по wordpress теме Использование разных шаблонов отображения контента в одной теме Wordpress
и, если хотите картинку рядом с комментарием возьмите на