Давайте посмотрим вблизи на то, как построены и как работают шаблоны.
Все шаблоны разные! Понятно, что все шаблоны выглядят по-разному. Но если вы скачаете 5 разных шаблонов и сравните их файлы, вы увидите существенно разные наборы файлов. Есть несколько обязательных файлов, которые должны быть в каждом шаблоне и некоторое количество файлов, которые, скорее всего, будут совпадать, но в остальном масса отличий.
Например, некоторые шаблоны могут идти с специальной страницей для архивов, потому что структура отображения архивов в этих шаблонах отличается от стандартной. В других шаблонах может отсутствовать страница с результатами поиска по сайту, т.к. нужный функционал встроен в index.php
Но в каждом шаблоне должны обязательно присутствовать два файла, index.php и style.css, являющиеся ядром шаблона и абсолютно необходимые для нормальной работы. Фактически, без этих файлов вордпресс не опознает шаблон как шаблон, даже если он будет находиться в папке themes. И формально, можно сделать шаблон, состоящий всего из двух этих файлов. Это будет простой, но функциональный шаблон. Этого может хватить для некоторых задач, но в общем вы вероятно используете WordPress как раз из-за больших возможностей, которые он предлагает.
Ознакомиться с полной иерархией страниц в вордпрессе можно тут https://codex.wordpress.org/Иерархия_шаблонов, но кратко структура выглядит так:
Обязательные (ключевые) файлы:
- index.php обычно - это главная «домашняя» страница сайта, но может быть и любой другой
- style.css содержит информацию о стилях шаблона и нужен для его работы, даже если не используется
Стандартные файлы:
- 404.php — страница ошибки для несуществующих адресов;
- archive.php — страница для отображения архивов по выбранной дате, месяцу, году, рубрике, тегу или автору;
- comments.php — отображает комментарии, пингбеки, трекбеки и форму комментариев;
- footer.php — включается в нижнюю часть каждой страницы, содержит коды статистики и копирайты;
- front-page.php — отображает содержимое «домашней» страницы сайта;
- header.php — включается в верхнюю часть каждой страницы, содержит секцию head, навигацию, меню;
- home.php — отображает содержимое «домашней» страницы сайта;
- page.php — шаблон для Страниц — документы отображение статического, неблогового контента screenshot.png изображение картинки превью вашего шаблона в списке других шаблонов search.php страница результатов поиска по сайту;
- sidebar.php — включает боковой контент страниц и записей, используется для виджетов single.php шаблон для Записей, отображает полный контент записи с комментариями.
Специальные файлы:
- archives.php — страница для отображения всех архивов по рубрикам и месяцам;
- functions.php — файл для добавления специальных возможностей вашего шаблонам;
- image.php — отображает отдельно взятые изображения вашего сайта;
- links.php — специальная страница отображения ссылок из блог-ролла;
- loop.php — появился в новых темах, используется для обслуживания настраиваемых и множественных повторяющихся блоков контента записей.
Большинство шаблонов использует обязательные ключевые и стандартные файлы. Стандартные файлы выполняют все, что нужно от сайта вам и посетителям.
Специальные файлы предлагают нечто, находящее за пределами стандартных задач. Например, image.php может пригодиться, если вы решите использовать стандартную библиотеку медиа для управления картинками, фильмами и т.п., вставляя ссылку на эту специальную страницу. Вы сможете включать дополнительную информацию об авторских правах, копирайтах и т.п. Не на каждом сайте это необходимо, поэтому их и называют специальными.
Есть еще один файл, мусорный, это comments-popup.php, названный так потому что он больше не используется в шаблонах. Даже и не пытайтесь понять зачем он, не будем уделять ему время.
Все эти файлы не работают каждый по отдельности, они взаимодействуют. Например, index.php сначала вызовет header.php, затем использует sidebar.php и в финале вызовет footer.php. А sidebar.php может в себя включать вызов searchform.php для отображения формы поиска. И понятно, что header.php будет в секции
подключать style.css
Такая модульная и динамическая система позволяет раскрыть потенциал Вордпресс. Для тех, кто имел дело только с статическими хтмл сайтами — это крайне привлекательно. Представьте простоту изменения меню, достаточно внести нужные правки в header.php и сразу на всем сайте будет отображаться новая навигация. А если пойти еще дальше, то панель меню можно генерировать встроенной функцией вордпресса, т.е. все изменения будут выполняться автоматически по мере изменения структуры сайта. Как только вы добавите новую страницу — в меню сразу появится новая кнопка. Это очень круто — выполнять изменения, обновления и управление сайтом так легко и не задумываясь о мелочах.
А вот полезная информация о том, как правильно оформить свой шаблон
Во-первых, создайте screenshot.png с размерами 600px на 450px, в идеале, если это будет превью внешнего вида шаблона, а не просто абстрактный логотип.
Во-вторых, добавьте служебное описание в начале файла style.css
/* Theme Name: Theme Name Theme URI: https://your-website.com/cool-theme/ Description: Totally awesome WordPress theme by Yours Truly Version: 1 (WP2.8.4) Author: Your Name Author URI: https://your-website.com/ Tags: super, awesome, cool, sweet, potato nuggets */
Теперь в списке установленных шаблонов он будет выглядеть просто замечательно.