Codex

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

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

Contents

Введение

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


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

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

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

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

Со времен появления Themes в Wordpress версии 1.5, Templates становятся все более настраиваемы. Перед тем, как создать свою Тему (develop WP themes), Вам нужно понять механизм работы шаблонов: как WordPress отбирает файлы-шаблоны для вывода разных страниц в Вашем блоге. Если Вы хотите что-то изменить в готовой WordPress Теме, эта статья поможет решить Вам какой шаблон нужно редактировать.

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

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

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

Общая идея

WordPress uses the Query String — information contained within each link on your web site — to decide which template or set of templates will be used to display the page.

First, WordPress matches every Query String to query types — i.e. it decides what type of page (a search page, a category page, the home page etc.) is being requested.

Templates are then chosen — and web page content is generated — in the order suggested by the WordPress Template hierarchy, depending upon what templates are available in a particular WordPress Theme.

WordPress looks for template files with specific names in the current Theme's directory and uses the first matching template file listed under the appropriate query section below.

With the exception of the basic index.php template file, Theme developers can choose whether they want to implement a particular template file or not. If WordPress cannot find a template file with a matching name, it skips down to the next file name in the hierarchy. If WordPress cannot find any matching template file, index.php (the Theme's home page template file) will be used.

Примеры

Если Ваш блог находится по адресу 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. single.php
  2. index.php

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

WordPress Pages:
  1. Any custom Page Template selected for the page
  2. page.php
  3. 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

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

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

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

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