Иерархия шаблонов
Иерархия шаблонов WordPress – это система, с помощью которой WordPress определяет, какой файл(ы) шаблона использовать при отображении той или иной страницы на сайте. Эта иерархия позволяет очень гибко настраивать отображение различных типов контента, страниц, постов и категорий на вашем сайте. Понимание того, как работает иерархия шаблонов, поможет вам эффективно настроить свою тему WordPress.
Вот подробный обзор того, как работает иерархия шаблонов WordPress:
Что такое иерархия шаблонов WordPress?
Иерархия шаблонов – это набор правил, по которым WordPress выбирает, какой файл(ы) шаблона(ов) использовать при отображении страницы. Эти шаблоны хранятся в папке вашей темы и позволяют WordPress динамически генерировать правильный макет и дизайн в зависимости от типа отображаемого контента.
Например:
- При отображении одной записи в блоге WordPress сначала будет искать шаблон под названием single.php. Если он его не находит, то перемещается вниз по иерархии, ища альтернативные варианты, например index.php.
- При отображении страницы категории WordPress сначала ищет category-slug.php или category-ID.php, и так далее.
Основные файлы шаблонов в WordPress
В каждой теме WordPress есть несколько основных файлов шаблонов. Вот самые распространенные из них:
- index.php: Запасной шаблон для всех страниц, если нет других, более специфических шаблонов.
- header.php: Определяет раздел заголовка вашего сайта (например, логотип, навигация).
- footer.php: Определяет нижний колонтитул вашего сайта (например, информация об авторских правах, виджеты нижнего колонтитула).
- single.php: Отображает отдельные записи блога.
- page.php: Отображает отдельные страницы.
- archive.php: Отображает архивные страницы (например, категории, теги, авторы).
- category.php: Отображает архивные страницы категорий.
- tag.php: Отображает страницы архива тегов.
- search.php: Отображает страницы результатов поиска.
- 404.php: Отображает страницу ошибки 404, когда страница не найдена.
Как работает иерархия шаблонов WordPress
WordPress определяет, какой шаблон использовать, в зависимости от типа запрашиваемого контента. Давайте рассмотрим некоторые распространенные типы страниц и то, как WordPress выбирает шаблон:
1. Одиночный пост (single.php)
При отображении одного поста WordPress будет искать следующие шаблоны в таком порядке:
- single-{post-type}.php (для пользовательских типов постов, например, single-product.php)
- single.php
- index.php
2. Страница (page.php)
При отображении отдельной страницы (например, страницы “О нас” или “Контакты”) WordPress будет следовать следующему порядку:
- custom-page-slug.php (если у страницы есть собственный шаблон)
- page-{slug}.php (например, page-about.php)
- page-{ID}.php (например, page-2.php)
- page.php
- index.php
3. Архив категорий (category.php)
Для страниц архива категорий (например, список постов в определенной категории) иерархия выглядит следующим образом:
- category-{slug}.php (например, category-news.php)
- category-{ID}.php (например, category-3.php)
- категория.php
- архив.php
- index.php
4. Архив тегов (tag.php)
Для страниц архива тегов WordPress использует:
- tag-{slug}.php (например, tag-recipes.php)
- tag-{ID}.php
- tag.php
- архив.php
- index.php
5. Пользовательские типы постов
Пользовательские типы постов могут иметь свои собственные шаблоны. WordPress ищет:
- single-{post-type}.php (например, single-product.php)
- single.php
- index.php
Аналогично, для архивов пользовательских типов постов:
- archive-{post-type}.php (например, archive-product.php)
- archive.php
- index.php
6. Архив авторов (author.php)
Для авторских страниц WordPress придерживается следующей иерархии:
- author-{nicename}.php (например, author-john.php)
- author-{ID}.php
- author.php
- архив.php
- index.php
7. Результаты поиска (search.php)
При отображении результатов поиска WordPress использует следующий порядок:
- search.php
- index.php
8. страница 404 ошибки (404.php)
Когда страница не найдена, WordPress использует:
- 404.php
- index.php
9. Архив дат (date.php)
Для архивов, основанных на дате, WordPress использует:
- date.php
- archive.php
- index.php
10. Главная страница
WordPress предлагает два варианта главной страницы: индекс блога или статическая страница.
- Для индекса блога:
- home.php
- index.php
- Для статичной главной страницы:
- front-page.php
- home.php
- page.php
- index.php
Визуальное представление иерархии шаблонов
Вот упрощенный визуальный поток для лучшего понимания иерархии:
- Одиночный пост: single-{post-type}.php → single.php → index.php
- Страница: custom-page-slug.php → page-{slug}.php → page.php → index.php
- Архив категорий: category-{slug}.php → category.php → archive.php → index.php
- Архив тегов: tag-{slug}.php → tag.php → archive.php → index.php
- Архив авторов: author-{nicename}.php → author.php → archive.php → index.php
- Результаты поиска: search.php → index.php
- 404 Ошибка: 404.php → index.php
- Главная страница: front-page.php → home.php → index.php
Настройка иерархии шаблонов
Вы можете создавать пользовательские шаблоны, следуя соглашениям об именовании иерархии. Например, чтобы создать шаблон для определенной категории (например, “Новости”), создайте файл category-news.php и поместите его в папку вашей темы. WordPress будет автоматически использовать этот шаблон при отображении постов из категории “Новости”.
Кроме того, вы можете переопределить шаблоны по умолчанию, создав более конкретные файлы шаблонов, например single-product.php для пользовательского типа поста или page-about.php для конкретной страницы.
Советы по работе с иерархией шаблонов
- Используйте условные теги: Вы можете использовать условные теги, такие как is_single(), is_page() или is_category() в index.php или других шаблонах, чтобы применить определенный код к определенным типам содержимого.
- Части шаблона: Используйте функцию get_template_part(), чтобы включить фрагменты кода многократного использования (например, общий верхний или нижний колонтитул) в несколько шаблонов.
- Дочерние темы: Если вы вносите изменения в существующую тему, создайте дочернюю тему, чтобы можно было изменять шаблоны, не затрагивая файлы исходной темы.
- Отладка: Если вы не уверены, какой шаблон WordPress использует для определенной страницы, вы можете использовать такие плагины, как What The File, чтобы узнать это.
Заключение
Иерархия шаблонов WordPress – это мощная система, которая дает разработчикам гибкость в создании индивидуальных макетов для различных типов контента. Понимая иерархию, вы сможете управлять тем, как ваш сайт WordPress отображает различные типы контента, обеспечивая последовательный и уникальный пользовательский опыт. Независимо от того, создаете ли вы пользовательские шаблоны для конкретных страниц или настраиваете макеты архивов, освоение иерархии шаблонов даст вам контроль, необходимый для точной настройки вашего WordPress-сайта.