Создание отдельного шаблона страниц в WordPress
Monday, 17 Mar 08 в 23:11
В прошлой заметке о баннерной рекламе в блогах я рассказывал, что показываю возможные способоы расположения баннеров с помощью отдельного шаблона. Дабы не оставалось «темных пятен» и неясных моментов расскажу сегодня как же реализовать и внедрить для своего блога на WordPress отдельных шаблон. Это не так сложно, как может показаться на первый взгляд, хотя с другой стороны – мы рассмотрим весьма легкий пример.
Если шаблон вашего блога располагается в папке wp-content/themes/имя_шаблона/, то вы запросто сможете модифицировать его через админку в WordPress. Для этого заходим в меню Presentation - Theme Editor:

Здесь видим список всех доступных файлов шаблона справа и собственно код выбранного файла. В правом нижнем углу должна быть кнопка Update Files.

Если кнопки нет, это значит тот или иной файл закрыт от записи. Нужно зайти на ФТП, найти его и поставить галочки в свойствах файла для колонки Writable напротив первых двух пунктов. После этого появится возможность сохранить все изменения, внесенные в код через админку.
Тема/шаблон блога как правило состоит из нескольких отдельных php файлов, каждый из которых отвечает за отображения определенной части этого самого шаблона. Например, header.php выводит HTML код внутри тэгов <HEAD></HEAD>, а также шапку сайта, sidebar.php – вспомогательные колонки справа, footer.php – низ шаблона и т.д. Главный код находится в index.php. Здесь идет вызов всех вспомогательных файлов шаблона и формируется окончательный внешний вид сайта.
Поэтому первым делом для создания дополнительного шаблона нам нужна копия основного файла index.php – сохраняем его под любым другим названием (new_index.php). В самом верху можно добавить строки, определяющие название шаблона в админке:
<?php
/*
Template Name: Adv
*/
?>
Подключение дополнительных файлов в основной производится с помощью соответствующего кода: <?php get_header(); ?>, <?php get_sidebar(); ?>, <?php get_footer(); ?>. Делаем копию того файла, для которого мы хотим изменить внешний вид, например для шапки сайта – header.php и т.д. Сохраняем под любым новыми именем (new_header.php).
Теперь, внимательно! Чтобы подключить измененный вспомогательный файл (new_header.php) в новый основной файл шаблона (new_index.php) мы вместо строки:
<?php get_header(); ?>
пишем:
<?php include(“new_header.php”); ?>.
Уловили фишку? По сути – создаем свой собственный основной файл шаблона, который будет состоять из видоизмененных вспомогательных файлов.
После завершения всех работ по модификации кода шаблона, записываем новые файлы в ту же папку с шаблоном wp-content/themes/имя_шаблона/. Теперь при создании страницы будет возможность выбрать свой шаблон для нее. Это производится в блоке Page Template, что находится в правой колонке в форме созданий страницы для блога. Имя в этом выпадающем списке отображается то, которое мы задавали в основном файле шаблона в строке с «Template Name».

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



спасибо большое! за подробное обьяснение
Создание отдельного шаблона страниц в WordPress
Скажите, а для записей можно сделать, что-то подобное.
Например:
Если single.php новость из категории id-1 – то отобразится при просмотре блоки A,B,C
Если все остальные категории (id-3, id-20 и т.д.) то отобразатся блоки D,E
A title
B caledar
C except
D content
E comments
Nixx, попробуй глянуть здесь – http://codex.wordpress.org/Template_Tags/in_category (должно помочь)
Благодарен. Сейчас попробую разобраться.
А как сделать, чтобы движёк wordpress обрабатывал не только стандартные адреса, типа post_id, но и другие, которые я сам сделаю. Например, я хочу сделать каталог, а как объяснить движку способ обработки адреса /straniza_cataloga_id. Я говорю не про ЧПУ, а про дополнительные файлы в папке шаблона wordpress
Олег, тут нужно почитать о создании модулей для wordpress, как я понимаю. Есть какие-то свои хитрости, чтобы это все работало. К сожалению, в этом направлении я ничего не читал.
Спасибо. Буду копать в эту сторону
А у меня выбора шаблона не появляется, думал из за темы, а нет… буду ждать 3 версию, может там исправится косяк
В этом коде присутствует ошибка . Котнкретно – кавычки. Они должны быть одинарные.
А я редактирую в блокноте, а потом измененные файлы заливаю на сервер.
Попробывал чесно работает, но мне жалко времени на это!
Отлично, то что искал. Мне нужно было заменить подвал не трогая сам файл шаблона, теперь все получилось
Добрый день. У меня киношный сайт и на нем присутствует много описаний фильмов, которые типичные и одинаковые по структуре. вот как можно сделать шаблон для таких записей? (не страниц)
перешел по ссылке выше (для создания шаблонов записей) там все по английски, а нет ли русского аналога? или перевода….
заранее спасибо
Эрик, если нужен отдельный шаблон для записей (постов) блога, то почитай статью выбор и использование разных шаблонов для файла single.php, там есть соответствующая информация.
Спасибо за вашу работу!!! =)
Спасибо! Очень пригодилось!
Как раз сделал сервис у себя на блоге. Так сказать бесплатный фотошоп. =)
Для простых вариантов дизайна можно отдельные части шаблона делать в виде виджетов и потом просто через отдельный плагин выводить нужные куски в нужных местах – тут ничего ручками ковырять по сути не нужно.