http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

DIW#6. Шаблон WordPress — анатомия

Опубликовано: 23.08.2018

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

Шаблон WordPress — анатомия

Конечно, все шаблоны выглядят по разному. Если вы скачаете пять-шесть шаблонов и посмотрите, из каких файлов они состоят — состав будет немного отличаться. Какая-то будет содержать страницу архивов, для специального вывода записей, у другой не будет шаблона, отвечающего за поиск. Однако, большинство шаблонов все таки очень похожи по составу. Давайте посмотрим, для чего предназначен каждый файл в составе шаблона:

По клику в новом окне откроется большая картинка

Теперь дам некоторые пояснения насчет этой схемы.

Файлы index.php и style.css абсолютно необходимы для функционирования любого шаблона. При отсутствии любого из этих файлов — WordPress просто не увидит этого шаблона. Технически, можно создать шаблон, который будет содержать только эти два файла. Однако, наверняка вам захочется иметь некоторый дополнительный функционал.

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

Файлы, отмеченные как специальные — вносят дополнительные шаблоны отображения в ваш блог. Например, файл image.php отвечает за отображение картинок и других медиа-объектов. Вы можете использовать его для какого-то особенного вывода картинок. К примеру, можно вставить вывод предупреждения об авторских правах или что-то вроде того.

Файл, отмеченный как Хлам — устаревший и давно не используется. Однако, в некоторых шаблонах он все встречается, поэтому я отразил это в схеме.

Взаимодействие файлов шаблона

Все файлы шаблона не являются автономными. Они взаимодействуют и вызывают друг друга, чтобы вместе делать общее дело.

Например, при вызове главной страницы, движок запрашивает только index.php , в котором прописан(по идее ;)) вызов header.php в начале, sidebar.php в середине и footer.php в конце.

Затем sidebar.php может вызывать, в свою очередь, searchform.php  для формы поиска и так далее. Кроме того, файл header.php, который включает в себя раздел head , будет вызывать файл style.css .

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

Давайте посмотрим, какие типы вывода используются в WordPress:

Главная — это обычно корневой URL вашего домена, например, site.com Запись — это обычная запись блога Страница — «статическая» страница, находящаяся за пределами основного потока сообщений. Например, страница контактов или карта сайта Пользовательские страницы — страницы, для которых настроен специальный вывод записей. Например, галерея или страница отзывов Результаты поиска — отображает список записей, найденных механизмом поиска по сайту Архив — вывод записей по тегу, категории, дате, автору и прочим подобным признакам

Чем отличается вывод страниц и записей?

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

Записи обычно выводят с формами комментирования, страницы без них. В записях выводят информацию о дате публикации, авторе и прочие мета-сообщения. Страницы же лишены этого, да это и не нужно. Они несут статическую информацию и являются аналогом статических страниц классического HTML.

Давайте теперь ответим на самый главный вопрос: как же WordPress знает, какой шаблон использовать?

Можно предположить, что это жестко прописано на уровне системных файлов WordPress, но ведь большинство файлов в теме необязательны! Если ваш шаблон не имеет файла archive.php , WordPress показывает пустую страницу? Нет, вывод движется вниз по иерархии файлов шаблона , чтобы найти следующий, наиболее подходящий файл для отображения.

В конце концов, все дороги приводят к файлу index.php . Неудивительно, что это такой важный и нужный файл! Аналогично этому пути, мы можем двигаться в  других направлениях и создать файлы, которые очень специфичны.

Например, если мы хотим иметь уникальный шаблон при просмотре категории №456 нашего блога, мы создаем файл с названием category-456.php и WordPress автоматически его использует для ее отображения. Давайте посмотрим, как выглядит иерархия файлов шаблона

Думаю, из этой схемы все понятно? Если нет — спрашивайте в комментариях, объясню подробнее.

На этом сегодня все. В следующем разделе рассмотрим структуру файла header.php и начнем двигаться по пути создания своего шаблона. Также, планирую большую статью по созданию кастомных страниц с контактными формами, выводом карты сайта, оформлением страниц архива и другими «плюшками».

Удачного вам дня

Карта
rss