Из-за большого количества тем-фреймворков под WordPress, возникших за последние несколько лет, многие начали забывать как выглядит обычная стандартная тема WordPress. В этой статье я вам напомню как строится «каноническая» тема под WP. А чтобы вам было легче освоить материал, вот вам отличная инфографика от Yoast:
Ниже будет текстовая транскрипция инфографики.
Анатомия темы WordPress
Шпаргалка для тех, кто хочет понять как работает тема WordPress.
Тема WordPress представляет из себя папку, содержащую файлы-шаблоны, каждый из которых отвечает за определенный «кусок» темы. Это такие части вашего сайта, которые остаются неизменными на какой бы странице вы не находились. Части управляются файлами с определенным названием: header
, sidebar
и footer
. Уже из одного названия файла ясно за какую часть он отвечает.
Вы можете настроить эти файлы таким образом, чтобы, в зависимости от того, на какой странице вы находитесь, они отображали разное содержимое. Например, это может быть разная навигация для страницы с постом или записью и статичной страницы. Хотя чаще всего эти участки-секции выглядят одинаково на всех страницах сайта.
- header.php
Глобальный файл, который отображает шапку и навигацию. Также содержит HTML код. - Цикл (Loop)
Отображает содержимое основной области контента вашего сайта и контролируется индивидуально каждым шаблонным файлом WordPress, используя то, что в сообществе WordPress называется «loop» (цикл, петля). - sidebar.php
За отображение сайдбара отвечает файлsidebar.php
. Настроить вывод на сайте нескольких сайдбаров можно с помощью файлаfunctions.php
. Сайдбар – это набор виджетов, настраивать которые можно через административную панель. - footer.php
Содержит инструкции для вывода футера (подвала) сайта, а также закрывающие HTML-теги.
index.php – Главная (домашняя) страница
Индексный файл контролирует то, как выглядит Главная (домашняя) страница. По умолчанию на индексный файл выводятся последние записи в блоге со ссылкой внизу на просмотр предыдущих постов.
Альтернативный вариант можно настроить в административной панели (wp-admin -> настройки -> чтение), чтобы в качестве Главной страницы выступала любая созданная вами статичная страница. В этом случае вам необходимо указать другую страницу/URL для вывода списка последних постов, которая будет генерироваться файлом index.php
.
single.php – Отдельная запись (пост)
Небольшой файл, носящий имя single.php
, отвечает за отображение отдельной записи (поста) для вашей темы WordPress. Этот файл содержит Цикл, который запрашивает информацию только об одной записи и выводит ее.
Вы можете указать, будет ли отображаться сайдбар на такой странице. Возможно, вам захочется, чтобы она отличалась от других страниц сайта.
page.php – Статичные страницы
За отображение статичных страниц таких, как страницы «О нас» или «Контакты» отвечает файл page.php
. Вы можете убрать сайдбар и другие элементы или же, наоборот, добавить уникальных элементов на такие страницы.
WordPress также позволяет создавать отличные друг от друга шаблоны для различных типов статичных страниц. Для создания шаблона страницы просто скопируйте файл page.php
, переименуйте его как хотите и добавьте затем в начале файла следующий php-код:
<?php
/*
Template Name: НазваниеФайла
*/
?>
archive.php, category.php, tag.php – Архивы
Вы можете контролировать вид и отображение различных типов архивов, используя шаблонные файлы. Если специального шаблона под архив не предусмотрено, тогда он будет выводиться на index.php
. Тем не менее, вы можете создать файл archive.php
для переопределения вывода информации на этот шаблон. Если создать файл, имеющий название category.php
, тогда он переопределит на себя вывод информации вместо archive.php
только для категорий. Если создать файл tag.php
, та же ситуация повторится для тегов.
Цикл (loop)
Цикл – это, возможно, самая мощная часть темы WordPress. Он начинается с запроса, который будет зависеть от того, какие посты или страницы необходимы, и заканчивается PHP выражением “endwhile”. Все, что между между – контролируется вами.
Вы можете указать вывод названия статьи, полного содержания, метаданных, пользовательских полей и комментариев. Все выводимые элементы будут содержаться в соответствующей записи. Вывод будет продолжаться до тех пор, пока будет что выводить. Вы можете настроить несколько Циклов и запросов на одной странице. К примеру, на single.php
вы можете выводить полное содержание одной записи, а также только название и миниатюру (превью) похожих постов.
По такому алгоритму строится типичный цикл (петля, по англ. «loop») WordPress:
- Запрос поста или страницы
- Начало цикла
the_title
(вывод названия поста)the_excerpt
(вывод цитаты поста)the_content
(вывод полного содержания поста)the_category
(вывод категории поста)the_author
(вывод имени автора поста)the_date
(вывод даты опубликования поста)- другие теги (есть много других тегов WordPress, которые можно использовать в Цикле)
endwhile
;- Выход из Цикла
Дополнительные файлы темы WordPress
Для нормальной работы темы WordPress требуются некоторые обязательные файлы. Эти файлы могут быть модифицированы по вашему желанию, при этом они могут вполне серьезно повлиять на вид и функциональность вашего сайта.
comments.php
Данный файл контролирует вывод комментариев, которые могут быть включены в цикл, если вы хотите добавить комментарии к своей теме. Файл comments.php
может быть переопределен плагинами, таким как Disqus, который берет под свое управление функционал комментариев на сайте.
functions.php
Файл functions.php
позволяет вам внедрять свой собственный код PHP в целях модификации важнейших элементов вашей темы. Его чаще всего используют для задания нескольких сайдбаров, изменения количества символов в цитате или добавления пользовательских опций в административную часть WordPress.
style.css
Это самый важный файл стилей CSS вашей темы. Он также содержит текст в начал, который сообщает WordPress, как называется тема, кто ее автор и какой URL сайта разработчика.
» не может быть пустым, так как для WordPress необходима по крайней мере одна тема для корректной работы ! По умолчанию папка «