Шаблон WordPress состоит из файлов, которые отвечают за вывод страниц в зависимости от их типа. Например, за вывод главной страницы отвечает файл index.php
. Шаблон единичной записи (post) находится в файле single.php
, а для страниц (page) есть файл page.php
. Соответственно, все страницы одного типа по умолчанию будут выглядеть одинаково. Однако, в WordPress создана гибкая иерархия файлов шаблона, с помощью которой вы сможете создать отдельный шаблон страницы WordPress.
Страница и запись в WordPress
По умолчанию, в WordPress можно создать два типа записей: страницы (page) и записи (post). В блоговой реализации сайта WordPress тип записи post являются важным типом. Записи выводятся на главной странице, отображаются в архивах, распределяются по категориям. Страницы же часто используются для разделов сайта О компании, Обо мне, Контакты, Карта сайта, Информация о доставке и т.д. Страницы не отображаются в архивах и не выводятся на главной в списке всех статей. Добавить страницы можно в меню сайта, сайдбаре или подвале. Для управления записями и страницами в админке есть отдельные разделы.

Иерархия файлов страниц
Иерархия файлов страниц отвечает за то, какой конкретно файл будет использован для вывода содержимого страницы. Иерархия выглядит так:
{название_шаблона}.php
(когда используется шаблон страницы)page-{slug}.php
page-{ID_страницы}.php
page.php
singular.php
index.php
Иерархия означает, что перед выводом страницы на сайте, ядро WordPress ищет в вашем шаблоне файлы согласно данному порядку. Если файл найден, он и будет выведен на сайте.
Например, если у вас в теме существуют файлы page-contacts.php
и page.php
, то согласно иерархии на сайте будет выведен файл page-contacts.php
.
Как создать шаблон страницы WordPress?
Из иерархии становится понятно, для того чтобы сделать шаблон страницы нужно создать определенные файлы в папке шаблона. В этой статье мы рассмотрим 3 способа создания шаблона страницы.
Способ 1.
Создание через файл шаблона
Данный способ самый распространенный, потому что он не привязан к конкретной странице и его можно применять сразу к нескольким страницам.
Для создания файла нужно подключиться к сайту по FTP и перейти в папку шаблона site.ru/wp-content/themes/your-template
Напоминаю, если вы используете шаблон, который регулярно получает обновления, то все изменения нужно производить в дочерней теме.
Файл можно создать и в директории шаблона, однако, для файлов-шаблонов я рекомендую создать отдельную папку, например templates
. Создайте в ней новый файл php. Название файла может быть любым, но старайтесь давать понятные имена.
Для примера, сделаем шаблон для страницы Контакты. Создадим файл templates/contacts.php
. Теперь откройте файл для редактирования и в самом начале добавьте специальный код, который покажет ядру WordPress, что этот файл является шаблоном страницы.
<?php
/**
* Template Name: Шаблон страницы Контакты
*/
Сразу после этих строк можно писать код шаблона страницы. В качестве основной структуры советую скопировать весь код из файла page.php
и редактировать его в новом файле.
Когда шаблон создан, нужно применить его к странице. Делается это в админке
- Зайдите в раздел Страницы и создайте новую страницу (или откройте редактирование существующей страницы).
- На панели справа раскройте опцию Шаблон. Выберите название вашего шаблона.

- Сохраните страницу и проверьте результат изменения шаблона.
Если новый шаблон по каким-то причинам выдает ошибку или неправильно отображается, вы всегда можете вернуться к шаблону по умолчанию.
Преимущества и недостатки:
- Способ универсален, можно задать шаблон для любой страницы.
- Для определения шаблона есть специальная логическая функция
is_page_template
. - Если планируете «посадить» на шаблон много страниц, придется изменять каждую в админке.
Способ 2.
Добавление шаблона конкретной страницы
Каждая страница в WordPress имеет уникальный id и slug. Зная их мы можем создать шаблон для конкретной страницы.
Slug – это url страницы. Он указан в правой панели на странице редактирования.

ID – уникальный идентификатор. Узнать его можно из url страницы редактирования.

Если slug страницы равен contacts, создайте в папке темы новый файл page-contacts.php
. При заходе на страницу Контакты должен отобразиться новый шаблон.
Аналогично можно создать шаблон по ID. Допустим, id нашей страницы равен 19. В папке шаблона нужно добавить файл page-19.php
. Он будет отвечать за содержимое страницы с ID=19.
Преимущества и недостатки:
- Работа только с файлами шаблона без редактирования страниц в админке.
- Шаблон будет работать только на одной странице. Если шаблон планируется использовать на нескольких страницах этот способ не подойдет.
- При изменении slug страницы шаблон с именем файла
page-{slug}.php
перестанет работать.
Способ 3.
Замена файла шаблона страницы через хук template_include
Способ предназначен для разработчиков. Он сложный и требует знаний программирования. Однако, данный способ универсальный и позволяет переопределять шаблоны вообще для любых страниц сайта. В примере мы рассмотрим изменение шаблона для страницы Контакты.
Создайте файл в папке шаблона. Имя произвольное, но понятное. Например, template-contacts.php
Теперь откройте файл functions.php
шаблона и в конце добавьте следующий код
add_filter( 'template_include', 'override_page_template' );
function override_page_template($template) {
if (is_page('contacts')) {
$template_contacts = locate_template(['template-contacts.php']);
if ($template_contacts) {
return $template_contacts;
}
}
return $template;
}
На 4 строке кода мы проверяем, какая страница отображается в данный момент (страница со слагом contacts). В параметре функции
is_page()
укажите slug или id нужной страницы.
Таким образом, используя условную логику в функции override_page_template
можно заменить любой файл шаблона.
Преимущества и недостатки:
- Универсальный метод, с помощью которого можно сделать любую логику загрузки файлов шаблона.
- Сложная реализация. Нужны навыки программирования и понимания принципов WordPress.
Мы рассмотрели 3 способа как добавить шаблон страницы вордпрес. Ниже еще расскажу как редактировать шаблон главной страницы.
Изменение шаблона главной страницы
По умолчанию, на главной странице WordPress выводятся последние записи в хронологическом порядке. Когда WordPress используют для создания сайта компании, то возникает потребность заменить шаблон главной страницы. Сделать это можно добавлением специального файла в корень шаблона или изменением опции отображения главной страницы.
Файл front-page.php
За отображение главной страницы в WordPress отвечает файл front-page.php
. Если в вашем шаблоне его нет, то создайте и настройте его как вам нужно.
Когда файл создан, можете зайти на главную страницу сайта и проверить его работоспособность.
Опция «На главной странице отображать»
Второй способ заключается в том, чтобы принудительно установить для главной страницы статическую страницу, которая уже создана на сайте.
Зайдите в админке Настройки > Чтение. Отметьте опцию Статическая страница и в выпадающем списке выберите страницу, которая будет отображаться на главной.

Сохраните изменения. Теперь на главной будет отображаться страница, которую вы выбрали.