четверг, 7 февраля 2013 г.

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

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

Contents

[hide]

Введение

Страницы 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

Front Page display

  1. front-page.php - Used for both Your latest posts or A static page as set in the Front page displays section of Settings -> Reading
  2. Page display rules - When Front page is set in the Front page displays section of Settings -> Reading
  3. Home Page display rules - When Posts page is set in the Front page displays section of Settings -> Reading

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

  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-id.php - If the category's ID were 6, WordPress would look for category-6.php
  2. category.php
  3. archive.php
  4. index.php

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

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

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

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

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

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

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

Creating a Search Page:
  1. search.php
  2. index.php

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

Creating an Error 404 Page:
  1. 404.php
  2. index.php

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

Attachment Templates:
  1. image.php, video.php, audio.php, application.php or any other first part of the mime type.
  2. application.php
  3. attachment.php
  4. index.php

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

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

Комментариев нет:

Отправить комментарий