Шаблон WordPress — взгляд изнутри

By | 10.08.2012

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

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

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

Theme-files

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

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

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

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

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

 

Брендирование шаблона

Стандартный скриншот для отображения в админке WordPress имеет размеры 300*225 пикселей. Для отображения текстовой информации о шаблоне в начало файла style.css необходимо добавить следующий текст:

Естественно, текст меняйте по своему усмотрению ;)

 

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

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

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

Например, при вызове главной страницы, движок запрашивает только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 автоматически его использует для ее отображения. Давайте посмотрим, как выглядит иерархия файлов шаблона

Hierarchy-shablon

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

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

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

P.S. Спасибо http://gering111.com/diw6-shablon-wordpress/ за информацию

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.