WordPress как на ладони

Шаблоны страницы для типов записей в WP 4.7

Поддержка шаблонов для постоянных страниц - записей типа page была неизменна аж 12 лет. И помогала разработчикам удобно создавать шаблоны для страниц, но была всегда ограничена только типом записи page. Однако с версии WordPress 4.7 положение дел изменилось и теперь можно создавать шаблоны для абсолютно любых типов записей.

Шаблоны страниц (записей типа page)

О том как создавать шаблоны для записей я писал в отдельной статье и там не только этот способ, а еще два. Этот способ идет там первым. Напомню: чтобы создать шаблон постоянной страницы, нужно в корне темы создать файл с любым названием, например, my-template.php и в нем указать php комментарий следующего вида:

<?php
/*
Template Name: Мой шаблон страницы
*/
?>

<!-- html код шаблона -->

После этого на странице редактирования постоянной страницы в разделе «Свойства страницы» появится возможность выбрать этот шаблон.

Метабокс свойства страницы

Файл шаблона можно поместить и во вложенную папку в корне темы, WP его найдет. Например, в корне темы можно создать папку templates и все шаблоны складывать туда.

Шаблоны для записей произвольного типа

С версии WordPress 4.7 функционал шаблонов страниц расширился. И теперь можно создавать шаблоны для страниц любого типа.

Чтобы указать, что создаваемый файл шаблона поддерживается типом записи, название этого типа записи нужно указать в заголовке: Template Post Type:. Несколько типов записей можно указать через запятую.

Для примера давайте создадим шаблон, который будет поддерживать три типа записи: post, page, product. Для этого в начале файла добавим такой php комментарий:

<?php
/*
Template Name: Мой шаблон страницы
Template Post Type: post, page, product
*/

// … остальной код шаблона

Теперь на страницах редактирования записей типов: post, page, product, можно будет выбрать шаблон «Мой шаблон страницы».

Шаблон страницы для типа записи post
Шаблон страницы для типа записи post

Заметки разработчикам

  • Если хоть один шаблон существует для типа записи, то метабокс «Свойства страницы» (Post Attributes) появится автоматически на странице редактирования записи. Не обязательно включать поддержку 'page-attributes' при регистрации типа записи.

  • Заголовок «Свойства страницы» можно изменить при регистрации типа записи в параметре label > attributes.
23 комментария
Полезные 4Вопросы 1 Все
    Войти