Иерархия шаблонов wordpress: Структура шаблонов темы WordPress, их иерархия и порядок работы движка с файлами страниц | Создание сайтов и заработок в сети – Иерархия шаблонов WP? — Хабр Q&A

Содержание

Иерархия файлов шаблонов в WordPress.

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

Особенно это может быть важно если вы занимаетесь правкой шаблонов WordPress и вносите туда какие-то изменения. Этот механизм иерархии шаблонов WordPress очень важно понимать для того чтобы с большим пониманием вносить эти правки.

Тема WordPress состоит у нас из php-файлов, которые называются шаблоны. Эти шаблоны позволяют нам формировать тот контент, то содержимое, которое есть на нашем сайте. Каким-то образом его выводить, выводить какие-то определенные блоки в определенной последовательности, каким-то особым образом это отображать. Где-то что-то отображать, а где-то скрывать.

За все это отвечают так называемые шаблоны WordPress.

Каждый шаблон отвечает у нас за вывод какого-то своего особого содержимого. 

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

Например, типы содержимого могут быть тэги, рубрики, страницы, записи, ошибки 404 (страница не найдена), возможно отображение каких-то пустых страниц, с одной колонкой, с двумя и.т.д.

Типов содержимого в WordPress довольно много. 

Если мы будем для каждого типа содержимого создавать какой-то отдельный файл, то может получиться самая настоящая "мусорка" и будет непонятно, что и для чего нужно и зачем нужен тот или иной файл. 

Чтобы решить эту проблему, разработчики WordPress решают ее с помощью иерархии шаблонов. Разработчики сделали определенные имена шаблонов более главными, чем другие имена шаблонов. 

По этим именам определяется важность какого-то шаблона.

Это дает нам самое главное - гибкость разработки тем WordPress. Таким образом мы можем более гибко настраивать отображение какого-то содержимого на сайте, в зависимости от того, к какому типу контента это содержимое относится. 

Иерархия - это структура, где элементы разделяются на главные и второстепенные. Какие-то шаблоны у нас будут главные, а какие-то второстепенные. 

Главные шаблоны будут перетирать то содержимое, которое имеется во второстепенных шаблонах. 

Иерархия WordPress - это просто некие внутренние правила в логике (ядре) WordPress. Они определяют в какой ситуации и какой шаблон нужно использовать. К какому шаблону какой будет использован приоритет. 

Логика эта выглядит примерно в такой схеме (см. видео). Как эту тему можно прочитать, мы поговорим в следующих видео. Смысл в том, что в таком виде это отображается и в этой схеме можно посмотреть логику отображения шаблонов WordPress. 

Какой файл и название файла будет являться  более главным, а какое второстепенным.

Ссылки, где можно посмотреть эту схему иерархии шаблонов WordPress:

https://developer.wordpress.org/themes/basics/template-hierarchy/

https://wphierarchy.com/

 

В следующих видео мы будем с этим разбираться, как работает эта иерархия файлов WordPress.

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


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

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

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

Для кого эта статья

Со времен появления Тем в WordPress версии 1.5, шаблоны становятся все более настраиваемы.
Перед тем, как создать свою Тему, Вам нужно понять механизм работы шаблонов — почему WordPress использует разные файлы темы для вывода того или иного контента в Вашем блоге. Эта статья призвана разъяснить, когда и как используется тот или иной шаблон.

Общие сведения

WordPress использует строку запроса (запрос контента) (Query String), т.е. информацию, содержащуюся внутри каждой ссылки на вашем веб-сайте для того, чтобы решить какой шаблон или набор шаблонов будет использован для отображения [запрошенной]страницы.

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

Затем выбирается нужный шаблон в соответствии с иерархией шаблонов — и страница генерируется. Использование того или иного шаблона зависит от того, присутствует ли нужный шаблон в папке активной Темы.

WordPress ищет файл-шаблон в папке текущей Темы и использует первый подходящий шаблон (в соответствии с приоритетом шаблонов для конкретного типа контента — см. примеры ниже).

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

Примеры

Если Ваш блог находится по адресу http://blog.ru/ и посетитель переходит на страницу категории http://blog.ru/category/your-cat/, WordPress в папке текущей темы в первую очередь ищет шаблон, который отвечает за вывод этой категории. Если ID данной категории

4, WordPress ищет шаблон с именем category-4.php.
Если такой шаблон не найден, WordPress ищет общий для всех категорий шаблон category.php.
Если и такого файла-шаблона нет, WordPress ищет шаблон для вывода архива archive.php.
Если нет и этого файла, WordPress будет использовать основной шаблон Темы index.php.

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

Теперь наглядно

На этой картинке показано, какие файлы-шаблоны используются для вывода тех или иных типов страниц.
Графический пример структуры иерархии шаблонов WP.

График также показывает отношение строки запроса (запрос контента) (Query Strings) к соответствующему условному тегу (Conditional Tags).

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

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

Главная страница
1. home.php
2. index.php

Одна запись
1. single.php
2. index.php

Статичная страница
1. Шаблон, выбранный при создании или редактировании статичной страницы в выпадающем списке справа «Шаблон страницы».
2. Если слаг (короткая ссылка) Страницы about, то для этой страницы может использоваться шаблон about.php
3. page.php
4. index.php

Страница категории
1. Шаблон конкретной категории. Если ID категории 6, то шаблон для этой категории будет называться category-6.php
2. category.php
3. archive.php
4. index.php

Страница тега (метки)
1. В первую очередь шаблон для вывода постов с определенной меткой ищется по его слагу («короткая ссылка»). Если слаг метки privet, WordPress сначала ищет шаблон tag-privet.php
2. tag.php
3. archive.php
4. index.php

Страница автора
1. author.php
2. archive.php
3. index.php

Страница даты (архив)
1. date.php
2. archive.php
3. index.php

Страница результатов поиска


1. search.php
2. index.php

Страница 404 (ничего не найдено)
1. 404.php
2. index.php

Аттачменты
Шаблоны для аттачментов (прикрепленных файлов) (картинки, видео и т.д., открываемые на отдельной странице)

1. image.php, video.php, audio.php, application.php и другие первые слова из названия MIME типов.
2. attachment.php
3. index.php

Перевод статьи Кодекса WordPress: Template Hierarchy. За перевод огромное спасибо Sonike.

Файлы шаблона WordPress

Редактировали какие-нибудь готовые темы для WordPress? Наверное заметили, что в каждой своя структура файлов.

Например в одной из них за вывод рубрик отвечает category.php, а в другой это archive.php, в третьей вообще отсутствуют оба. Почему так?

Это потому, что существует порядок, следуя которому WordPress, в зависимости от текущей страницы сайта, ищет соответствующие файлы в директории темы и, если они существуют — подключает.

Этот пост должен раз и навсегда ответить на вопрос — какой из PHP-файлов темы используется для отображения той или иной страницы сайта?

Условные теги WordPress

Условные теги — это функции, которые позволяют определить что-либо и дать однозначный ответ (логическое true или false). «Условные» потому что практически всегда используются внутри условия if.

К примеру, функция is_single() позволяет определить, находимся ли мы, просматривая сайт в данный момент, на странице поста.

Полный список условных тегов WordPress и их документацию вы найдёте здесь.

На некоторых схемах ниже, для того, чтобы обозначить, для какого типа страницы используются определенные файлы, я как раз таки задействовал условные теги.

Схема порядка подключения файлов шаблона

Кликните по картинке, чтобы открыть в полном размере.

Иерархия порядок подключения файлов темы WordPress

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

А теперь разберемся, что означает каждая переменная (на графике — со знаком $).

$id
Ну насчет ID понятно. Немного дополнительной информации вы найдете в этих статьях:
$slug
Наряду с названием и айдишником, каждый объект в WordPress, будь то посты, комментарии или таксономии (искл. пользователи) имеет ярлык (или слаг). Так же, как и название объекта, ярлык задается в админке самим пользователем.
$nicename
Это ник автора, и под ником подразумевается user_nicename — на моём опыте всегда совпадало с user_login (именем пользователя).
$taxonomy
Название таксономии
$term
Ярлык элемента таксономии
$posttype
Название типа поста, для которого используем данный шаблон.
$mimetype, $subtype
Как вы возможно уже поняли из схемы, это актуально для страницы вложений.

Предположим, что во вложении у нас картинка PNG, то есть image/png — для данного примера переменные принимают значения image = $mimetype, png = $subtype, image-png = $mimetype-$subtype, по приоритету — в перечисленном порядке, как на схеме.

$custom
Название файла шаблона страниц — про них всё подробно расписано здесь.

Примеры

Сразу же приведу пример для страницы с рубрикой с ID = 54 и ярлыком myphotos:

  1. category-myphotos.php в первую очередь WordPress ищет этот файл в папке с темой, если его не существует, то файл со следующего пункта списка,
  2. category-54.php если и этого файла нет в директории темы, то переходим к следующему пункту и так далее,
  3. category.php,
  4. archive.php,
  5. index.php;

Следующий момент, который может быть не до конца понятен, отображён на этой части схемы:

Использование шаблонов страниц в иерархии WordPress

Для страниц добавлен блок с условием «Используется ли шаблон страницы», а для записей и других типов постов — нет. На самом деле начиная с версии WordPress 4.7 можно использовать шаблоны страниц и для записей других типов, на этой схеме это тоже показано —

custom.php это и есть произвольный шаблон, просто для страниц и других типов постов эта часть схемы немного отличается, хотя суть одна и та же.

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

В чем отличие между index.php, home.php и front-page.php?

Уверен, что этот вопрос терзает многих, как когда-то терзал меня, особенно, если вы начали своё обучение WordPress не с теории, а с практики (я имею ввиду разбор и доработка уже готовых тем). Дело в том, что в таких темах может присутствовать либо home.php, либо front-page.php, либо вообще ни того и ни другого файла, index.php же присутствует всегда.

Разберем сам порядок. Сначала на схеме:

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

Комментирую — итак, когда мы находимся на главной странице, в первую очередь WordPress пытается подключить файл front-page.php, если же файла не существует, вторым шагом он проверяет, что указано в настройках Настройки > Чтение, короче говоря:

  • если на главной странице отображаются последние записи блога, тогда сначала ищется и подключается файл home.php, в случае его отсутствия — index.php,
  • если на главной отображается статическая страница, то применяются обычные правила для страниц (которые вы видели еще на первой схеме в начале поста).

Но файл front-page.php в любом случае остаётся в приоритете!

B традиционно теперь, видео

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

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

иерархия шаблонов в wordpress template suggestions

Шаблоны в рамках темы WordPress, как и во многих других CMS, имеют строго определенную иерархию. Что это означает на практике?

Когда WP требуется определить какой шаблон (файл из папки темы) использовать, движок, в зависимости от типа страницы, проверяет наличие определенных файлов. Если существует несколько файлов, подходящих на роль шаблона текущей страницы, тогда выбирается наиболее «кастомный», подходящий для самого редкого случая.

Можно говорить о как минимум трех уровнях иерархии.

Базовый шаблон в иерархии WordPress

index.php

Это основной шаблон, который будет использован, если других вариантов не найдено. Тема оформления может вообще содержать только этот шаблон, и сайт будет работать, отображая все страницы, используя только его.

Уровень структурных единиц

Этот уровень «кастомизации» различает страницы по их назначению в структуре сайта. Почти любой сайт имеет главную страницу, разделы, ленты публикаций (новости, ленты по тегам, категориям и пр.) и конечные публикации (статьи, новости, работы портфолио и т.п.).

Для каждого случая WordPress проверяет свой шаблон:

  • arhive.php — ленты публикаций.
  • single.php — конечная статья блога (запись или кастомный тип).
  • page.php — страница раздела сайта (тип — страницы).
  • home.php — общая лента публикаций, если главная должна показывать ленту постов.
    • front-page.php — заменяет page.php, если главная — это выбранный раздел сайта, или заменяет home.php.
  • 404.php — шаблон для 404-й ошибки.
  • search.php — страница поиска по сайту.

Уровень с параметризацией

Следующий уровень уже зависит от определенных параметров. Это может быть и тип публикации, адрес или POST_ID страницы и т.п. В имени файла шаблона фигурирует значение одной из переменных.

Наиболее развита иерархия у архивов.

Авторские архивы

Могут собственный шаблон (author.php), в том числе и персонально для каждого автора (author-{$id}.php или author-{$nicename}.php).

Архивы таксономии (категории, теги и пр.)

Таксономия в WP имеет много лиц. Хотя категории, теги и пользовательские словари — суть одно, но WP поддерживает разные имена шаблонов для встроенных и пользовательских словарей.

Архив рубрик (категорий) — category.phpcategory-{$id}.phpcategory-{$slug}.php.

Архив меток (тегов) — tag.php, tag-{$id}.php, tag-{$slug}.php.

Архив таксономии — taxonomy.php, taxonomy-{$taxonomy}.php (имя словаря), tag-{$taxonomy}-{$term}.php (имя словаря и slug термина).

Календарные архивы

Архивы за год, месяц, день будет выводится в шаблоне date.php. Возможно ли деление по конкретным годам, месяцам и т.п. — я не проверял. 🙂

Конечные публикации и вложения

Вордпресс поддерживает страницы вложений. Вообще каждая картинка, файл, загруженные в «Медиафайлы», имеет свою страницу на сайте. Чтобы страница вложений отличалась от публикаций (single.php), используйте шаблон attachment.php. Для каждого типа вложения можно определить отдельный шаблон — {$mimetype}.php.

Если внешний вид разных типов публикаций отличается, можно создать шаблоны single-{$posttype}.php.

Страницы

После page.php в иерархии WordPress идет шаблон page-{$id}.php или page-{$slug}.php. Для каждой страницы в редакторе можно задать собственный шаблон. Нужно лишь дать шаблону имя, чтобы WP его «подхватил» и показал в списке.

Прочие шаблоны

Мы рассмотрели только часть шаблонов, которые используются только для оформления страниц сайта. Но WP распознает еще и шаблоны для особых элементов — блока комментариев (comments.php), сайдбаров (sidebar.php, sidebar-{$id}.php) и т.п.

Для них работают схожие принципы template suggestions.

Данная запись опубликована в 23.03.2017 15:26 и размещена в wordpress. Вы можете перейти в конец страницы и оставить ваш комментарий.

Файлы шаблона WordPress и из чего состоят темы

Шаблон WordPress состоит из набора файлов. Зная, за что отвечает тот или иной файл, вы сможете отредактировать тему по собственным нуждам, имея хотя бы базовые навыки HTML, PHP и CSS. А если таких знаний у вас нет, то вы можете узнать как настроить шаблон WordPress с помощью встроенных инструментов.

В этой статье я расскажу вам про файлы темы WordPress, и о том, за что они отвечают.

Файлы шаблона WordPress и из чего состоят темы Файлы шаблона WordPress и из чего состоят темы

Перечень и функции файлов шаблона WordPress

При загрузке каждой страницы сайта задействуются определённые файлы, каждый из которых выполняет свою функцию. Некоторые файлы должны применяться по всему сайту, на каждой его странице, другие же могут использоваться только в некоторых частях сайта.

Файлы шаблона WordPress и из чего состоят темы Файлы шаблона WordPress и из чего состоят темы Файлы шаблона WordPress и из чего состоят темы

Файлы шаблона WordPress похожи на кирпичи или элементы конструктора, из которых образуется страница. Для индивидуализации определённой страницы можно удалять или задействовать, а также изменять тот или иной файл.

Ниже приведена таблица, в которой описаны основные файлы шаблона WordPress.

Основные файлы
Index.php Является главным в шаблоне. В нём прописывается код, который отвечает за расположение и загрузку других файлов на странице. Также этот файл генерирует в браузере главную страницу.
page.php Генерирует одиночные страницы.
single.php Генерирует одиночные записи.
sidebar.php Генерирует сайдбары на сайте, боковые колонки.
header.php Создаёт на сайте шапку. Как правило, в нём присутствуют логотип и навигационное меню.
footer.php Создаёт подвал сайта или футер – это нижняя часть.
functions.php Регистрирует функции, такие как появление сайбаров, областей меню и другие.
style.css Таблица стилей, в которой прописываются правила для внешнего вида всех элементов сайта: шрифты текста, размеры, цвета элементов, их относительное расположение и прочее.
Файлы вывода записей
category.php Выводит записи определённой рубрики.
tag.php Выводит записи определённой метки (тега).
author.php Выводит записи определённого автора.
archive.php Выводит записи за определённую дату, то есть архивы статей.
Дополнительные файлы
comments.php Выводит комментарии и форму добавления комментариев.
search.php Выводит на сайте результаты по запросу в форме поиска.
attachment.php Выводит вложенный файл.
404.php Отвечает за отображение страницы 404, которая появляется при переходе по несуществующей ссылке.
Файлы шаблона WordPress и из чего состоят темы Файлы шаблона WordPress и из чего состоят темы Файлы шаблона WordPress и из чего состоят темы

Приведённый выше перечень файлов не является обязательным. Некоторые из них могут отсутствовать в тех или иных темах, а также определённые шаблоны могут дополняться другими файлами.

Иерархия файлов

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

Файлы шаблона WordPress и из чего состоят темыФайлы шаблона WordPress и из чего состоят темы

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

Как отредактировать файлы шаблона WordPress

Редактирование файлов шаблона WordPress позволяет изменять тему более детально и глубоко, чем это было задумано самим разработчиком. Чтобы всё получилось, необходимо понимать иерархию и функциональность самих файлов, а также владеть хотя бы базовыми знаниями языков программирования PHP, CSS и HTML .

Файлы шаблона WordPress и из чего состоят темыФайлы шаблона WordPress и из чего состоят темы

Даже если вы знаете языки программирования, перед редактированием любого файла обязательно сделайте его резервную копию, чтобы в случае аварии можно было вернуть теме рабочее состояние.

Файлы шаблона WordPress можно отредактировать прямо в консоли. Для этого следует перейти в пункт «Внешний вид» и выбрать подпункт «Редактор». Здесь в левом списке будут доступные файлы, а в правом — содержимое выбранного файла. Данный редактор не поддерживает подсветку синтаксиса. Поэтому удобнее скопировать содержимое файла в какой-то сторонний редактор, например, NotePad++, изменить его там, и вернуть обратно.

Файлы шаблона WordPress и из чего состоят темыФайлы шаблона WordPress и из чего состоят темы

  Редактирование файлов WordPress через консоль

Файлы темы WordPress можно также изменить, подключившись к сайту через FTP. Все они находятся в папке wp-content/themes/theme-name, где «theme-name» — название редактируемого шаблона.

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

Статьи по теме:

Мой черновик: Иерархия шаблонов в WordPress

Перевод статьи Кодекса WordPress: Template Hierarchy. Перевод почти дословный, я старалась не отклоняться от оригинала:

Введение

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

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

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

Для кого эта статья

Со времен появления Тем в WordPress версии 1.5, Шаблоны становятся все более настраиваемы.
Перед тем, как создать свою Тему, Вам нужно понять механизм работы Шаблонов — почему WordPress использует разные файлы Темы для вывода того или иного контента в Вашем блоге. Эта статья призвана разъяснить, когда и как используется тот или иной Шаблон.

Условные теги (Conditional Tags) и иерархия Шаблонов

WordPress может несколькими способами подбирать Шаблоны в соответствии с типом контента (query types). Разработчики Тем для WordPress могут также использовать «условные теги» (Conditional Tags) для того, чтобы определенный Шаблон был использован на конкретной странице блога.
Некоторые Темы могут не содержать всех файлов-шаблонов, описанных в этой статье.
В некоторых Темах использованы условные теги (conditional tags) для вызова других (собственных) шаблонов.
Посмотрите здесь: Создание Тем и условные теги (Conditional Tags).

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


Общие сведения

WordPress использует строку запроса (запрос контента) (Query String), т.е. информацию, содержащуюся внутри каждой ссылки на вашем веб-сайте для того, чтобы решить какой шаблон или набор шаблонов будет использован для отображения [запрошенной]страницы.
Первым делом WordPress сравнивает каждый запрос контента из базы данных (Query String) с существующими типами контента (query types) — таким образом, 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 для вывода главной страницы блога.

Теперь наглядно

На этой картинке показано, какие файлы-шаблоны используются для вывода тех или иных типов страниц.
График также показывает отношение строки запроса (запрос контента) (Query Strings) к соответствующему условному тегу ( Conditional Tags).
Графический пример структуры иерархии шаблонов WP
Новая схема!!!

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

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

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

Главная страница

  1. home.php
  2. index.php

Одна запись

  1. single.php
  2. index.php

Статичная страница

  1. Шаблон, выбранный при создании или редактировании статичной страницы в выпадающем списке справа «Шаблон страницы».
    Подробнее про шаблоны Статичных страниц.
  2. если слаг (короткая ссылка) Страницы about, то для этой страницы может использоваться шаблон about.php
  3. page.php
  4. index.php
На заметку: Это относится только к Статичным страницам, НЕ к страницам с постами. Подробнее: Статичные страницы.

Страница категории

  1. Шаблон конкретной категории. Если ID категории 6, то шаблон для этой категории будет называться category-6.php
  2. category.php
  3. archive.php
  4. index.php

Страница тега (метки)

  1. В первую очередь шаблон для вывода постов с определенной меткой ищется по его слагу («короткая ссылка»). Если слаг метки privet, WordPress сначала ищет шаблон tag-privet.php
  2. tag.php
  3. archive.php
  4. index.php

Страница автора

  1. author.php
  2. archive.php
  3. index.php

Страница даты

К примеру, архив за месяц.
  1. date.php
  2. archive.php
  3. index.php

Страница результатов поиска

  1. search.php
  2. index.php

Страница 404 (ничего не найдено)

  1. 404.php
  2. index.php

Аттачменты

Шаблоны для аттачментов (прикрепленных файлов) (картинки, видео и т.д., открываемые на отдельной странице)
  1. image.php, video.php, audio.php, application.php и другие первые слова из названия MIME типов.
  2. attachment.php
  3. index.php

Главный файл иерархии шаблонов WordPress index.php

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

Для этого в предыдущих уроках мы с вами создали такую простую тему, которая состоит из 2-х файлов index.php и style.css. 

Активируем эту тему через главное меню Внешний вид - Темы. 

И давайте приступать к работе.

Если перейти на главную страницу сайта, то у нас отображается просто белый экран. Ничего не отображается.

Почему так произошло?

Дело в том, что у нас сейчас в активной теме есть только один файл index.php и какой бы контент мы не открывали, во всех случаях будем открываться этот шаблон, который сейчас пустой.

Для того, чтобы в этом убедиться, давайте изменим содержимое этого файла и вставим туда простой HTML-каркас. 

<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<title>Это файл index.php</title>
</head>
<body>
Это файл index.php
</body>
</html>

Сделаем это для того, чтобы было понятно, что у нас отображается этот файл. Пробуем снова перейти на главную страницу и мы с вами, что это у нас файл index.php. У нас появилась черная полоска, благодаря тому, что у нас появился каркас этой страницы.

Куда бы мы с вами не переходили и какой бы контент мы бы с вами не просматривали, у нас в любом случае будет срабатывать шаблон index.php. 

Что бы мы с вами не просматривали: рубрики, содержимое, метки, страницы 404 и.т.д. В любом случае будет отображаться файл index.php. Это корень нашей темы WordPress, с помощью которой, соответственно, у нас выводится все содержимое, которое у нас есть на этом сайте.

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

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

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