Тема для WordPress – иерархия
“Обещанного три года ждут”, говаривал Николай Васильевич Гоголь нетерпеливым кредиторам.
Вот уже подходит к концу третий год с тех пор, как была совершена первая попытка написать цикл статей про создание собственного оформления сайта на CMS WordPress, пора выполнять то, о чём так давно говорил… тем более, что за это время мой сайт уже дважды поменял внешний вид, да и просто накопилась масса уточнений первого повествования.
Ну, и шпаргалку под рукой иметь не помешает
.
Начнём со структуры темы оформления и небольшого словаря терминов.
Структура:
Стандартный скин или тема оформления включает в себя:
1. Элементы шаблонов
| functions.php | “Функции темы” – файл пользовательских функций. Загружается первым и имеет самый высокий приоритет исполнения. |
| header.php* | “Заголовок” – верхняя часть кода страницы. Чаще всего содержит служебную информацию о кодировке, стандартах, подгружаемых файлах оформления и javascript-библиотек. Плюс – вывод шапки сайта и элементов управления до отображаемых записей и комментариев. |
| sidebar.php* | “Боковая колонка”. Основное назначение – отображение навигационного меню сайта, но используется и для других нужд, например, вывода списка последних комментариев. Изменяемый код называют виджет и описывают в файле functions.php |
| searchform.php | Форма поиска. Используется для стандартной функции поиска по сайту. |
| comments.php* | “Комментарии”. Отвечает за вывод уже написанных комментариев, а также содержит форму для комментирования новости. |
| footer.php* | “Подвал” – нижняя и заключительная часть кода страницы. Может содержать не только копирайты и постраничную навигацию, но и, подобно sidebar.php, отображать виджеты. |
Дополнительно во внешние файлы я выношу еще несколько элементов:
| theloop.php | Файл цикла. Отвечает за циклический вывод записей на страницах сайта и позволяет уменьшить размер кода темы оформления. Идея была позаимствована у Slaff-а, за что ему спасибо, и доработана напильником под собственные нужды. |
| describe.php | Описание. “О сайте” или “о себе”, как Вам будет угодно. |
2. Варианты шаблонов для текущей версии CMS (упрощённо, подробнее смотрите здесь)
| index.php* | “Основной шаблон” – заменяющий собой все не найденные в теме шаблоны. Зачастую – единственный требующийся. |
| single.php | Шаблон вывода отдельной записи или страницы. Отличается от index.php наличием блока комментариев. |
| home.php | Шаблон главной страницы, если index.php чем-то не устраивает |
| archive.php | “Архивы” – шаблон вывода любых записей, выбранных по тем или иным условиям (дата, автор, рубрика, метка или другие виды сортировки), если соответствующие шаблоны не найдены. |
| author.php | Шаблон записей определенного автора. |
| date.php | шаблон записей определенного месяца или года |
| tag.php | Шаблон записей определенной метки |
| category.php | Шаблон записей определенной рубрики (категории) |
| page.php | Шаблон постраничного отображения записей или страниц. |
| 404.php | Шаблон страницы “не найдено” |
| search.php | Шаблон страницы результатов поиска |
* – обязательные элементы темы оформления, применяемые в WordPress.
Также обязательным является файл стилей style.css, о котором мы поговорим в следующей статье.
Словарь терминов:
Скин, тема(оформления) – пакет файлов, определяющих отображение для сайта, построенного на CMS.
Расположение: <адрес сайта>/wp-content/themes/<папка темы>
Шаблон – отдельный файл темы, отвечающий за вывод записей, отсортированных желаемым образом. В нашем случае шаблон – это часть темы оформления.
CMS – (система управления содержимым) пакет файлов, отвечающий за сборку статических гипертекстовых страниц на сайте и определяющий начальный набор функций (поиск, разбивка на рубрики, постраничный вывод и т.д.). Этот набор может быть расширен с помощью пользовательских функций или готовых плагинов.
Плагин, плугин – дополнительный пакет файлов, расширяющий функционал CMS. Зачастую имеет набор настроек, доступный из панели управления сайта.
Расположение: <адрес сайта>/wp-content/plugins/<папка плагина>
Запись – новость, вывод которой WordPress привязывает к дате календаря и, по мере накопления, замещает более свежей на главной странице сайта.
Страница – это новость статическая, от календаря не зависящая (о сайте, о себе, о чём угодно).
На сегодня – всё, жду вопросов и пожеланий.






Долгожданная тема (тем более, что и WordPress развивается – были, вероятно, изменения в движке).
С момента написания первого цикла статей движок обновился больше десяти раз…
Обзор иерархии и источники даны для версии 2.9.х , но многие советы будут работать в версиях новее 2.7.х , а некоторые – еще в более ранних.
Надеюсь, что-то из советов окажется востребованным.