Как добавить шаблон страницы WordPress. 3 популярных способа

Шаблон 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 и редактировать его в новом файле.

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

  1. Зайдите в раздел Страницы и создайте новую страницу (или откройте редактирование существующей страницы).
  2. На панели справа раскройте опцию Шаблон. Выберите название вашего шаблона.
  1. Сохраните страницу и проверьте результат изменения шаблона.

Если новый шаблон по каким-то причинам выдает ошибку или неправильно отображается, вы всегда можете вернуться к шаблону по умолчанию.

Преимущества и недостатки:

  • Способ универсален, можно задать шаблон для любой страницы.
  • Для определения шаблона есть специальная логическая функция 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. Если в вашем шаблоне его нет, то создайте и настройте его как вам нужно.

Когда файл создан, можете зайти на главную страницу сайта и проверить его работоспособность.

Опция «На главной странице отображать»

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

Зайдите в админке Настройки > Чтение. Отметьте опцию Статическая страница и в выпадающем списке выберите страницу, которая будет отображаться на главной.

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

Содержание:
Нет комментариев