Skip to content

Иерархия шаблонов WordPress: Полное руководство для разработчиков тем

3 сентября, 2025 ·

Введение: Мозг вашей темы

Представьте, что WordPress — это очень умный и педантичный библиотекарь. Пользователь просит у него книгу (переходит по URL на вашем сайте). Библиотекарь смотрит на запрос и идет к полке с книгами (к вашей теме). Но как он точно знает, какую именно книгу (файл шаблона) взять? Он следует строгому алгоритму выбора — Иерархии шаблонов (Template Hierarchy).

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

Что такое Иерархия шаблонов?

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

Проще говоря, это список правил вида: «Если пользователь смотрит на запись отдельно, сначала ищи файл single-post.php, если его нет — ищи single.php, а если и его нет — бери index.php».

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

Визуализация: Карта иерархии

Лучший способ понять иерархию — увидеть ее. Классическая схема иерархии шаблонов выглядит так:

(Представьте здесь известную схему, которую вы можете легко найти в интернете по запросу «WordPress Template Hierarchy»)

Ключевой принцип: WordPress всегда ищет наиболее специфичный подходящий файл шаблона. Если он его не находит, он движется вверх по иерархии (к более общим шаблонам), пока не достигнет корневого файла index.php.


Разбираем на примерах: Как это работает на практике

1. Главная страница (Home Page)

Запрос: https://yoursite.com/

Порядок выбора:

  1. front-page.php — Создайте этот файл, если хотите сделать уникальный дизайн главной страницы.
  2. home.php — Часто используется для отображения ленты последних записей (блога).
  3. index.php — Файл по умолчанию. Должен присутствовать в каждой теме!

Важно: Различие между front-page.php и home.php часто путают.

  • front-page.php — главная страница сайта. Она может быть либо статической страницей, либо лентой записей (настраивается в «Настройки -> Чтение»).
  • home.php — страница, которая отображает ленту записей, даже если главная является статической.

2. Отдельная запись (Single Post)

Запрос: https://yoursite.com/2023/10/01/my-amazing-post/

Порядок выбора:

  1. single-{post_type}-{slug}.php (напр., single-book-harry-potter.php)
  2. single-{post_type}.php (напр., single-book.php) — Для произвольного типа записи book.
  3. single.php — Основной шаблон для всех записей.
  4. singular.php — Общий шаблон для любых single-страниц (и записей, и страниц).
  5. index.php

3. Страница (Page)

Запрос: https://yoursite.com/about-us/

Порядок выбора:

  1. page-{slug}.php (напр., page-about-us.php) — По ярлыку (slug) страницы.
  2. page-{id}.php (напр., page-15.php) — По ID страницы. Не рекомендуется, так как ID может поменяться при переносе.
  3. page.php — Основной шаблон для всех страниц.
  4. singular.php — Общий шаблон для любых single-страниц.
  5. index.php

4. Архивы (Archives)

Запрос: https://yoursite.com/category/news/ или https://yoursite.com/author/admin/

Порядок выбора для рубрик:

  1. category-{slug}.php (напр., category-news.php)
  2. category-{id}.php (напр., category-5.php)
  3. category.php
  4. archive.php — Общий шаблон для всех архивов.
  5. index.php

Аналогично работают архивы меток, авторов, дат и произвольных типов записей:

  • Автор: author-{nicename}.php -> author-{id}.php -> author.php -> archive.php -> index.php
  • Произвольный тип записи (Custom Post Type): archive-{post_type}.php (напр., archive-product.php) -> archive.php -> index.php

5. Страница поиска (Search Results)

Запрос: https://yoursite.com/?s=wordpress

Порядок выбора:

  1. search-{query}.php (напр., search-wordpress.php) — Поиск по конкретному запросу (редко используется).
  2. search.php — Основной шаблон результатов поиска.
  3. index.php

6. Страница 404 (Ошибка «Не найдено»)

Запрос: https://yoursite.com/url-which-does-not-exist/

Порядок выбора:

  1. 404.php — Специальный шаблон для страницы ошибки.
  2. index.php

Как использовать эти знания? Практические советы

  1. Начните с index.php: Это обязательный, самый общий шаблон. Ваша тема не будет работать без него. Создавайте его первым.
  2. Дробите шаблоны по мере необходимости: Не пытайтесь весь функционал уместить в index.php. Создавайте более специфичные файлы:
    • Хотите изменить дизайн страниц? Создайте page.php.
    • Нужен уникальный вид для записей? Создайте single.php.
    • Нужно особое отображение для рубрики «Новости»? Создайте category-news.php.
  3. Используйте Цикл WordPress (The Loop): Именно внутри этих шаблонов работает Цикл — функция while ( have_posts() ), которая выводит основной контент.
  4. Включайте общие части: Используйте функции get_header()get_footer()get_sidebar() и get_template_part() для подключения повторяющихся элементов (header, footer) и организации кода.

Как отладить иерархию? Полезный плагин

Если вы не уверены, какой шаблон WordPress использует для конкретной страницы, установите плагин «What The File». Он покажет вам прямо в админ-баре, какие файлы шаблонов были использованы для отображения текущей страницы. Это невероятно полезный инструмент для обучения и отладки.


Резюме: Главные выводы

  1. Иерархия существует для гибкости: Вам не нужно прописывать логику выбора шаблонов вручную. Достаточно создать файл с правильным именем в нужном месте.
  2. WordPress движется от частного к общему: Он всегда ищет самый подходящий специфичный шаблон и, если не находит,fallback’ится к более общим.
  3. index.php — это основа: Это запасной вариант для всего. Он должен быть в каждой теме.
  4. Имена файлов — это магия: Правильное именование файлов шаблонов — это 90% успеха. Схема {тип}-{уточнение}.php является ключевой.

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

Похожие материалы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *