Все современные темы WordPress состоят из шаблонов, таблиц стилей, javascript и изображений. Вместе эти файлы определяют, как ваш сайт будет выглядеть для пользователей. Шаблоны с определенными именами влияют на определенные области вашего веб-сайта.
Как правило, тема WordPress должна содержать шаблоны для отображения категорий, дат, архивов, отдельных записей, пользовательских страниц и т. д. Как пользователь, вы можете создать свои шаблоны, используя дочернюю тему.
Визуальная иерархия шаблонов WordPress (шпаргалка)
Визуальный чит-лист ниже объясняет, какие файлы шаблонов используются для отображения разных страниц на сайте WordPress.
Иерархия для главной страницы
По умолчанию WordPress отображает на главной странице вашего сайта последние записи. Вы также можете настроить это в Настройках → Чтение в админке WordPress.
front-page.php
- Если есть в теме, WordPress будет использовать этот файл шаблона независимо от настроек Чтения.
home.php
- Будет загружен, если
front-page.php
не существует и в настройках чтения WordPress установлена опция «Ваши последние записи». page.php
- Будет использоваться, если
front-page.php
не существует и в настройках чтения WordPress установлен чекбокс «отображать статическую страницу». index.php
- Если
front-page.php
,page.php
иhome.php
не существует, WordPress вернется к index.php для рендеринга домашней страницы.
Иерархия для single post
single-{post-type}-{slug}.php
- Используйте этот шаблон для изменения отображения определенного отдельной записи для любого типа поста. Например, если тип записи — «project», а ярлык записи — «apple», то WordPress будет искать
single-project-apple.php
. single-{post-type}.php
- WordPress проверит, существует ли шаблон для отображения этого конкретного типа поста. Например, если тип поста — «project», WordPress будет искать
single-project.php
. single.php
- Общий шаблон для отображения всех записей.
singular.php
- Этот резервный шаблон для отображения всех страниц одиночного типа.
index.php
- Если WordPress не найдет ни один из предыдущих шаблонов, он будет использовать
index.php
для рендеринга страницы.
Иерархия для single page
{custom-page-template}.php
- Назначенный шаблон для страницы.
page-{slug}.php
- Если ярлык страницы «contact-us», WordPress будет искать
page-contact-us.php
для рендеринга. page-{id}.php
- Если идентификатор страницы 12, WordPress будет искать файл шаблона с именем
page-12.php
. page.php
- Шаблон для отображения всех статических страниц.
singular.php
- Этот шаблон является резервным вариантом по умолчанию для всех страниц одиночного типа.
index.php
- Если WordPress не найдет ни один из предыдущих шаблонов, он будет использовать
index.php
для рендеринга страницы.
Иерархия для категорий
category-{slug}.php
- Этот шаблон используется для отображения страницы архива категории для определенной категории. Например, если ярлык категории — «projects», WordPress будет искать шаблон
category-projects.php
. category-{id}.php
- Затем WordPress ищет шаблон с идентификатором категории. Например, если идентификатор категории 12, то WordPress будет искать
category-12.php
. category.php
- Этот шаблон используется по умолчанию для отображения всех страниц категорий в WordPress.
archive.php
- Это шаблон используется по умолчанию для отображения любых архивный страниц.
index.php
- Резервный шаблон по умолчанию, если ни один из предыдущих не найден.
Иерархия для тегов
tag-{slug}.php
- Если ярлык тега «horrors», WordPress будет искать
tag-horrors.php
. tag-{id}.php
- Если идентификатор тега 12, WordPress будет искать шаблон
tag-12.php
. tag.php
- Шаблон по умолчанию для архивов тегов.
archive.php
- Шаблон по умолчанию для любой архивной страницы
index.php
- Резервный шаблон по умолчанию, если ни один из предыдущих не найден.
Иерархия для таксономий
Категории и теги, рассмотренные выше — это две таксономии, которые есть в WordPress по умолчанию. Пользователи также могут создавать свои собственные пользовательские таксономии.
taxonomy-{taxonomy}-{term}.php
- Если у вас есть таксономия «genre» и есть термин «thriller», то WordPress будет искать шаблон
taxonomy-genre-thriller.php
. taxonomy-{taxonomy}.php
- Для всех терминов таксономии «genre» WordPress будет искать файл
taxonomy-genre.php
, если не найдет предыдущий. taxonomy.php
- Шаблон по умолчанию для отображения любых пользовательских архивов таксономии.
archive.php
- Резервный вариант по умолчанию для всех архивных страниц в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для архивов custom post types
archive-{post_type}.php
- Если у вас есть custom post types «review», WordPress будет искать
archive-review.php
для рендеринга. archive.php
- Шаблон по умолчанию для отображения всех архивных страниц в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для архивов автора
author-{nicename}.php
- Если ник автора «hulk», WordPress будет искать
author-hulk.php
. author-{id}.php
- Если ID пользователя равен 6, WordPress будет искать
author-6.php
для рендеринга страницы. author.php
- Шаблон по умолчанию, используемый для отображения страниц архива авторов в WordPress.
archive.php
- Шаблон по умолчанию для отображения всех архивных страниц в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для архивов записей по датам
WordPress также отображает записи на архивных страницах на основе даты за месяцы и годы. Вот как выглядят шаблоны для этих страниц.
date.php
- Шаблон по умолчанию для архивов на основе даты.
archive.php
- Шаблон по умолчанию, используемый для отображения архивных страниц в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для результатов поиска
search.php
- Страница по умолчанию для отображения результатов поиска в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для 404
Страница ошибки 404 отображается, когда WordPress не может найти запрошенный контент.
404.php
- Шаблон по умолчанию для отображения страницы ошибки 404 в WordPress.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для attachments
MIME_type.php
- mime_type обозначает тип файла. Например,
image.php
,video.php
,application.php
. attachment.php
- Шаблон по умолчанию для отображения страниц вложений.
single-attachment.php
- Для отображения одного вложения.
single.php
- Шаблон по умолчанию для отображения элементов одиночного типа.
index.php
- Резервный шаблон по умолчанию в WordPress.
Иерархия для embeds
Начиная с WordPress 4.5, вы можете использовать шаблоны для рендеринга встроенного контента в WordPress.
embed-{post-type}-{post_format}.php
- WordPress сначала будет искать тип поста и шаблон формата сообщения. Например, если у вас есть «review» с «video», WordPress будет искать файл
embed-review-video.php
. embed-{post-type}.php
- если тип сообщения «review», WordPress будет искать
embed-review.php
. embed.php
- Резервный вариант по умолчанию для всех вставок.
Другие файлы темы
Эти файлы не используются в иерархии, но подключаются внутри большинства шаблонов как части их.
header.php
- Содержит заголовок сайта WordPress и обычно вызывается в начале всех файлов шаблонов. Обычно он содержит логотип и меню, а так же техническую информацию тега
<head>
— мета-теги, вызовы css и js-файлов, аналитику, заголовок страницы и т. д. Подключается с помощью функцииget_header()
. footer.php
- Используется для создания раздела нижнего колонтитула темы WordPress и вызывается в конце всех файлов шаблонов.
footer.php
обычно содержит информацию об авторских правах, вызовы JS-файлов, области виджетов, навигацию по сайту. Подключается с помощью функцииget_footer()
. sidebar.php
- Используется для создания боковой панели сайта и вызывается в файлах шаблонов, таких как
index.php
,page.php
,single.php
, для отображения боковой панели. Обычно он содержит области виджетов. Подключается с помощью функцииget_sidebar()
. searchform.php
- Шаблон для отображения формы поиска в WordPress. Подключается с помощью функции
get_search_form()
. functions.php
- Файл, в котором содержатся функции темы. Как правило, используется только для подключения логически разбитых файлов с функциями сайта из папки includes/ или inc/. Подключается автоматически при загрузке темы.