WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Иерархия шаблонов

Эта страница помечена как незавершённая. Вы можете помочь проекту, дополнив её.
Note: This article covers an advanced topic. See Stepping Into Templates for an introduction to WordPress templates.

Contents

Введение

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

О чём эта статья

Эта статья отвечает на следующий вопрос:

Какие файлы шаблонов использует WordPress для отображения определённого типа страниц?

Кому это может пригодиться

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

Использование тегов условий

WordPress может несколькими способами подбирать шаблоны в соответствии с типом контента. Разработчики Тем для WordPress могут также использовать теги условий (Conditional Tags) для того, чтобы определенный шаблон был использован на конкретной странице блога. Некоторые Темы могут не содержать всех файлов-шаблонов, описанных в этой статье. В некоторых Темах использованы теги условий (conditional tags) для вызова других шаблонов. Читайте подробнее здесь: теги условий (Conditional Tags) и "Query Based" in Theme Development.

Иерархия шаблонов

Общая идея

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

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

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

WordPress ищет файлы шаблонов со специальными именами в папке текущей темы и использует первый подходящий файл шаблона указанный в соответствующем запросе.

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

Примеры

Если Ваш блог находится по адресу http://domain.com/wp/ и посетитель переходит на страницу рубрики http://domain.com/wp/category/your-cat/, WordPress в папке текущей Темы в первую очередь ищет шаблон, который отвечает за вывод этой рубрики. Если ID данной рубрики 4, WordPress ищет шаблон с именем category-4.php. Если такой шаблон не найден, WordPress ищет общий для всех рубрик шаблон category.php. Если и такого файла-шаблона нет, WordPress ищет шаблон для вывода архива archive.php. Если нет и этого файла, WordPress будет использовать основной шаблон Темы index.php.

Если посетитель переходит на главную страницу сайта http://domain.com/wp/, WordPress ищет шаблон home.php и использует его для генерации запрошенной страницы. Если файла home.php в папке Темы нет, WordPress использует файл index.php для вывода главной страницы блога.

Наглядный обзор

Следующая диаграмма показывает, какие файлы шаблона вызываются при создании страницы WordPress, согласно иерархии шаблонов WordPress.

Graphic Example of the WordPress Template Hierarchy Structure Full-Size Image (png)

Подробнее о иерархии шаблонов

Рассмотрим приоритет использования шаблонов при выводе разных типов контента в WordPress.

Отображение главной страницы

  1. home.php
  2. index.php

Отображение Главной страницы

  1. front-page.php - Используется для страниц Ваши последние записи или Статическая страница как выбор в пункте меню Статическая главная страница раздела Внешний вид -> Настроить
  2. Page display rules - Когда в разделе Внешний вид -> Настроить в пункте меню Статическая главная страница выбрана Статическая страница
  3. Home Page display rules - Когда в разделе Внешний вид -> Настроить в пункте меню Статическая главная страница выбраны Ваши последние записи

Отображение одиночной записи

  1. single-{post_type}.php - Например, если тип записиproduct, то WordPress обратится к файлу single-product.php.
  2. single.php
  3. index.php

Отображение статической страницы

  1. custom template - Where custom template is the Page Template assigned to the Page.
  2. page-{slug}.php - If the page slug is recent-news, WordPress will look to use page-recent-news.php
  3. page-{id}.php - Если ID страницы 6, WordPress попытается обратиться page-6.php
  4. page.php
  5. index.php

Отображение рубрики

Category Templates:
  1. category-{slug}.php - If the category's slug were news, WordPress would look for category-news.php
  2. category-{id}.php - If the category's ID were 6, WordPress would look for category-6.php
  3. category.php
  4. archive.php
  5. index.php

Отображение метки

Tag Templates:
  1. tag-{slug}.php - If the tag's slug were sometag, WordPress would look for tag-sometag.php
  2. tag-{id}.php - If the tag's ID were 6, WordPress would look for tag-6.php
  3. tag.php
  4. archive.php
  5. index.php

Отображение автора

Author Templates:
  1. author.php
  2. archive.php
  3. index.php

Отображение даты

Date Templates:
  1. date.php
  2. archive.php
  3. index.php

Отображение результатов поиска

Создание страницы поиска:
  1. search.php
  2. index.php

Отображение ошибки 404 (Не найдено)

Создание страницы Ошибка 404:
  1. 404.php
  2. index.php

Отображение приложений

Шаблоны приложений:
  1. image.php, video.php, audio.php, application.php или любая другая первая часть mime type.
  2. application.php
  3. attachment.php
  4. index.php

Смотрите также

Следующие ссылки имеют непосредственное отношение к теме статьи.

Theme Development | The Loop | Conditional Tags | Template Tags | Using Permalinks

СодержаниеЗнакомство с WordPressРабота с WordPressДизайнДокументация разработчикаЧАВО