В данной статье будет показана и дополнена комментариями иерархия исполнения файлов темы WordPress. Мы посмотрим, в каком порядке выполняются скрипт-файлы темы WordPress когда загружается страница блога в браузере. Вы уже наверно знаете, что например полное содержимое каждой записи генерируется файлом single.php, и полное содержимое самостоятельной страницы генерируется файлом page.php, но WordPress будет искать и использовать разные файлы в зависимости от множества факторов, поэтому мы можем посмотреть, как это работает на схеме.
Стоит принять во внимание, что без файлов index.php и style.css ваша тема будет являться невалидной для WordPress, поэтому если у вас есть эти два файла, то каждая страница вашего блога, которую вы загружаете, будет генерироваться файлом index.php. Взгляните на эту “шпаргалку” чтобы понять о чем выше было сказано:
Обратите внимание, что при обращении к странице любого типа обработка данных в конечном счете заканчивается в файле index.php.
Именно поэтому файл index.php необходим для темы WordPress. В случае, если вдруг любой другой файл исчезнет из схемы WordPress (например файл search.php), то полной трагедии не случится, и вместо него будет в любом случае использован index.php.
Теперь стоит обратить внимание на очередность исполнения файлов. Далее будет описан порядок, в котором WordPress будет искать файлы в папке вашей активной темы. Это будет полезно знать при создании своей темы для WordPress.
Далее мы пройдемся по каждому типу файлов и разберем показанную выше иерархию исполнения файлов темы WordPress.
Home Page (Домашняя Страница)
Это первая и самая важная страница для любого веб-сайта. Поэтому WordPress предоставил возможность настраивать эту страницу. Давайте посмотрим на иерархию файлов для домашней страницы.
front-page.php
home.php
index.php
Прежде, чем домашняя страница будет окончательно сгенерирована, WordPress будет искать файл front-page.php. Если этот файл не будет найден, то будет использован файл home.php. Если home.php существует, WordPress будет использовать его, а если нет, то просто будет использован index.php.
WordPress Post Detail (Одна Запись)
single-[post-type].php
single.php
index.php
Блог на WordPress может иметь столько типов записей сколько вам нужно. Поэтому будет не сложно использовать разнообразный дизайн для всех или нескольких типов записей. По умолчанию «post» является главным и принятым по умолчанию типом записей в WordPress. Например, если у вас есть собственный тип записи «product», то это будет файл с именем single-product.php. Чтобы подробнее ознакомиться с тем, как добавлять свои типы записей, вы можете обратиться к странице по ссылке http://codex.wordpress.org/Function_Reference/register_post_type
WordPress Page Detail (Шаблон Страницы)
[custom-template].php
page-[slug].php
page-[id].php
page.php
index.php
Так же как и с типами записей, мы можем использовать различные типы для страниц, используя для этого свой шаблон страницы. Поэтому сначала WordPress будет искать файл для указанного шаблона страницы. Если же подходящего файла не будет найдено, то WordPress будет искать по порядку файлы, указанные выше в списке.
Category Page (Страница Категории)
category-[slug].php
category-[id].php
category.php
archive.php
index.php
Для категорий также можно создавать и использовать различные шаблоны страниц. К примеру, вы могли бы использовать различные страницы в зависимости от «slug» и «id» категорий, и затем использовать по умолчанию файл «category.php» для остальной части категорий.
Tag Page (Страница Меток)
tag-[slug].php
tag-[id].php
tag.php
archive.php
index.php
Здесь все как и для категорий. Вы можете также использовать «slug» и «id» для меток.
Taxonomy Page (Страница Таксономии)
taxonomy-[tax]-[term].php
taxonomy-[tax].php
taxonomy.php
archive.php
index.php
Здесь показан порядок исполнения файлов для Страниц Таксономии, где можно увидеть, какие имена файлов можно использовать для создания специфических страниц, и в каком порядке они будут исполняться.
Author Page (Страница Автора)
author-[author-nicname].php
author-[author-id].php
author.php
archive.php
index.php
Вы можете использовать различный дизайн страниц для разных авторов. Так же, как с категориями и метками, можно создавать различные файлы, опираясь на данные «nickname» и «id» конкретных авторов.
Attachment Page (Страница Вложений)
[mime-type].php
attachment.php
single.php
index.php
Здесь видно, что вы можете создавать различные виды страниц для различных вложений (attachments). Они должны отличаться MIME-типами вложенных (присоединенных) файлов.
Date Page (Страницы Дат)
date.php
archive.php
index.php
Для специфических шаблонов страниц, где используются различные манипуляции с датами, мы можем создать файл date.php в каталоге темы. После обработки или при отсутствии файла date.php будет использоваться файл archive.php, ну и в самом конце index.php.
Archive Page (Страница Архивы)
archive.php
index.php
Теперь мы добрались до типов файлов, и количество файлов в иерархии уменьшилось. Поэтому здесь уже только основные и наиболее используемые файлы в любой теме WordPress.
Search Page (Страница Результатов Поиска)
search.php
index.php
Вы можете изменять вид страницы результатов поиска в файле search.php, но если search.php отсутствует, то будет использоваться index.php.
404 Page (Ошибка 404)
404.php
index.php
В случае, если страница или запись не найдена, WordPress будет искать файл 404.php, и если тот будет отсутствовать, то будет использован index.php.
Заключение…
Вы можете использовать эту информацию для применения пользовательских шаблонов для различных страниц…
Во многих случаях, даже используя текущую тему WordPress, вы можете применять различные решения без модификации уже существующих файлов. Вам всего лишь нужно будет создавать новые файлы с новыми именами, опираясь на информацию, изложенную в этой статье.
Перевод. Автор оригинала: Avinash Zala M
Метки: WordPress, тема
Интересненько. Надо попробовать поиграть с этим. Можно свой шаблон сделать интересный в итоге.
Полезная информация, пригодится в работе с блогом.
Очень познавательно! Большое Вам спасибо.