Создание отдельного шаблона страниц в 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».

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



@ Пишет: 26.03.08 at 9:23 pm
[...] немного о заработке, немного об оптимизации, немного о работе c Wordpress. Хороший русский язык и приятное [...]
@ Пишет: 07.05.08 at 5:40 pm
[...] меня сподвиг Александр «Tod», который в двух словах объяснил, как сделать отдельный шаблон страницы и внедрить его [...]
спасибо большое! за подробное обьяснение
Создание отдельного шаблона страниц в 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 версию, может там исправится косяк
В этом коде присутствует ошибка . Котнкретно – кавычки. Они должны быть одинарные.