Как создать шаблон для блога

kak-sozdat-shablon-dlya-bloga-3

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

Добавить шаблон для страницы WordPress можно при её редактировании

Если вы используете не свою тему, а одну из стандартных тем WordPress или установленную из интернета, то вполне возможно, что в этой теме есть несколько готовых шаблонов страниц.

Чтобы проверить это:

  1. Перейдите на Страницы > Добавить новую.
  2. В метабоксе «Атрибуты страницы» выберите один из шаблонов.

spisok-shablonov-stranic-8284004

Или, если вы используете редактор Gutenberg, вы можете найти опцию выбора шаблона в настройках на вкладке «Страница» справа:

vybor-shablona-stranicy-gutenberg-3584452

Если в вашей теме нет шаблонов страниц, выпадающее меню шаблонов просто отсутствует.

В опциях быстрого (Properties, Quick Edit) и массового (Bulk Edit) редактирования также есть возможность задавать шаблоны для страниц.

vybor-shablona-v-bystrom-redaktirovanii-3043078

Вам необходимо перейти по ссылке «Свойства»

Также важно отметить, что конкретный шаблон можно использовать для одной страницы WordPress или для нескольких страниц одновременно. Но опять же, в этой ситуации вам, вероятно, не нужны пользовательские шаблоны, поэтому рекомендуется посмотреть видео-учебник по файловой иерархии PHP темы.

Как создать шаблон для страницы WordPress?

Чтобы создать собственный шаблон страницы WordPress, вам необходимо выполнить два шага:

  1. Создайте файл в папке с темой, чтобы имя не пересекалось с условными именами файлов темы WordPress. Если не уверены, то придумайте такое имя, которое больше никто не придумает  например misha123.php. Файл шаблона также может находиться в папке родительской темы, папке подтемы и, начиная с WP 3.4, в каталоге темы вы можете создать любую подпапку для шаблонов страниц.
  2. В начале файла нужно указать имя шаблона — после этого WordPress его «увидит»:

К тому же в шаблоне можно использовать абсолютно любой код, разве вы не хотите связать get_header() и get_footer() на сайте? – Да, пожалуйста.

Помните, что если тема, которая есть на вашем сайте, была разработана не вами, все созданные вами шаблоны страниц могут исчезнуть после того, как вы ее обновите. Поэтому для таких целей рекомендуется создавать дочерние темы, а уже в них — шаблоны страниц WordPress.

Иерархия и порядок подключения файлов страниц

В приведенном ниже списке показан приоритет использования шаблонов файлов темы PHP для отображения типа публикации страницы».

  1. custom-template.php (если файл шаблона существует и установлен для этой страницы в настройках)
  2. page-.php (если есть)
  3. page-.php (если есть)
  4. page.php (самое распространенное решение почти во всех темах)
  5. single.php (если page.php не существует)
  6. index.php (используется, если все вышеперечисленные файлы отсутствуют в папке темы)

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

Создать шаблон для сайта WordPress, но, начиная с версии движка 4.7, также можно легко создать шаблон поста (кстати, любого типа).

Принцип точно такой же, как и для страниц, только кроме параметра Template name:, нужно указать еще параметр Template post type: в следующей строке, где можно указать название типа поста, или несколько имен разделенных через запятую, например,  можно использовать свой шаблон как для постов, так и для страниц, и в этом случае он будет начинаться так:

Если у вас уже был какой-то шаблон для страниц и он уже использовался на сайте, то уже существующие страницы, использующие этот шаблон, после того, как вы захотите использовать его как шаблон поста WordPress и добавить параметр Тип поста шаблона: перестанут работать , но при редактировании там уже будет указан базовый шаблон.

Определение используемого шаблона на странице

Хорошо, допустим, вы используете шаблоны страниц и вам нужно сделать что-то особенное для этого шаблона в вашем макете или PHP-коде. Как мы собираемся это сделать?

Классы тегов

Прежде всего, давайте взглянем на функцию body_class(), которую рекомендуется использовать при разработке  тем. Да, с этой функцией все быстро узнают, что сайт на WordPress, ну и что?

Но эта функция очень удобная, в атрибуте класса тега она покажет:

    текущий пост, например Page ,
    ID текущего поста, например page-id- ,
    шаблон страницы, если используется пользовательский шаблон страницы

 

Посмотрите, как формируется имя класса тега для произвольного шаблона страницы. Допустим, мы создали шаблон digital-agency.php и поместили его в папку page-templates нашей темы, например page-templates/digital-agency.php. Нет необходимости размещать шаблон в отдельной директории, кроме того, это стало возможно начиная с версии WordPress 3.4.

В результате добавятся классы:

  • шаблон страницы – используется произвольный шаблон страницы,
  • шаблон страницы шаблоны страниц – шаблон страницы- ,
  • страница-шаблон-цифровое-бюро – страница-шаблон- ,
  • page-template-page-templatesdigital-agency-php — имя файла шаблона с расширением файла и названием папки, в которой он находится.

Условный тег is_page_template()

Если мы хотим проверить, используется ли внутри PHP-кода тот или иной шаблон страницы WordPress, например, есть ли у нас общий header.php для всех страниц, то рекомендуем использовать функцию is_page_template().