Иерархия шаблонов в 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.

Написать комментарий

Мало букафф? Читайте есчо !

Антиспам с использованием Javascipt для WordPress, обходимся без Captcha

Апрель 12, 2013 г.

О сути метода я рассказываю здесь - Бегство от спама. Для работы понадобится hook на новые комментарии - pre_comment_approved, который мы объявим в файле темы - function.php. Если в вашей теме нет такого файла - создайте :). Нужно модифицировать всего ...

Читать

Подключаем LESS препроцессор к вашей теме в Wordpress

Июнь 2, 2019 г.

Вкусив однажды всех радостей от использования препроцессора, сложно себя заставить работать с нативным CSS. Посмотрим как подключить LESS к вашей теме на WP. Т.к. уже есть готовые решения, то воспользуемся одним из них. Плагин WP-LESS сделает большую ...

Читать

 

Комментарии к «Иерархия шаблонов в WordPress»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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