Шаблоны произвольных страниц

Дата публикации:Декабрь 11, 2010

Когда вы создаете страницу в WordPress, вы можете определить пользовательский шаблон для нее на экране редактирования. Этот шаблон выполняет полное переопределение стандартной иерархии шаблонов страниц WordPress. Для чего используют произвольные шаблоны? Причин может быть множество. Возможно, вы хотели бы, чтобы сайт обладал несколькими целевыми страницами, отведенными под различные структурные элементы, такие как футер, меню, сайдбары и т.д. Или, к примеру, вы хотите вывести на экран список всех существующих ссылок блогролла. Создание различных наборов страниц является отличным средством для поддержания качества и универсальности созданной темы, что особенно важно при ее дальнейшем распространении.

Для того чтобы сформировать шаблон произвольной страницы, нам необходимо для начала создать новый файл в корневом каталоге дочерней темы. Допустим, мы хотим создать шаблон страницы, предназначенной для вывода основной миссии компании. Назовем наш файл mission-statement.php.

Шаблон страницы должен начинаться с отдельного комментария:

<?php
/*Template name: Mission Statement*/

Даже в таком скудном представлении наш шаблон уже появится в панели Page Attributes при редактировании страницы. Однако, поскольку мы пока ничего в него не добавили, при установке указанного шаблона в качестве основного на экран будет выведена пустая страница.

То, что вы добавите в свой файл шаблона, зависит исключительно от вас, однако вы должны, как минимум, подключить основной контент страницы, чтобы не вводить пользователей в заблуждение. Поскольку большинству плагинов для нормальной работы необходимы хуки wp_head и wp_footer, их нужно также подключить к шаблону страницы. В Thematic они вызываются в файлах header.php и footer.php, таким образом, подключить эти файлы можно с помощью get_header и get_footer. Помимо этого, вы можете добавить различные области виджетов, разметку и циклы, которые вам в дальнейшем понадобятся.

Thematic включает в себя два шаблона произвольных страниц, в дополнение к стандартному файлу page.php: archives.php (шаблон страницы архивов) и links.php (шаблон страницы ссылок). Откройте их и подробно изучите для того чтобы понять, как именно они работают и какую функциональность обеспечивают.

Насколько вы помните, мы хотели создать шаблон страницы, выводящий на экран основную миссию компании. В качестве основы возьмем шаблон page.php фреймворка Thematic. В нем мы закомментируем вызов thematic_sidebar и удалим thematic_postheader. Таким образом, мы придем к тому, что получим на экране объявление миссии компании:

// creating the post header
//thematic_postheader();?// calling the standard sidebar
//thematic_sidebar();

Для того, чтобы контент охватывал полную ширину страницы (в качестве компенсации области сайдбара), мы разместим следующие стили:

body.home #container {
float: none;
margin: 0;
width:960px;
}
body.home #content {
width:900px;
overflow:hidden;
margin: 0 0 0 10px;
}
body.home .hentry {
width: inherit;
}

Стоит отметить, что Thematic обеспечивает удобное добавление класса к элементу body, зависящего от названия шаблона, который используется страницей. Посмотрите на исходник вашей страницы, чтобы увидеть это в действии:

<body class="wordpress blogid-1 y2010 m06 d22 h03 singular slug-about page pageid-2 page-author-admin page-comments-open page-pings-open page-template page-template-mission-statement-php loggedin mac firefox ff3">

Скопируйте стили вашей домашней страницы и измените их, для того чтобы выполнить обращение к классу page-template-mission-statement-php. Сделаем нужный нам текст большим и крупным:

/* =Mission statement template styles
-------------------------------------------------------------- */
body.page-template-mission-statement-php #content {
width:900px;
overflow:hidden;
margin: 0 0 0 10px;
}
body.page-template-mission-statement-php .entry-content {
font-size: 1.8em;
line-height: 1.2em;
}
body.page-template-mission-statement-php .hentry {
width: inherit;
}

Как всегда, представление миссии будет во-многом зависеть от того, какие именно стили вы примените к странице.

Поделиться

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.