Попытка создать свою тему для WordPress чаще всего упирается в одну и ту же ошибку: после активации самописной темы сайт показывает белый экран или сообщение «Тема повреждена: отсутствует таблица стилей». Причина почти всегда одна — в папке темы нет корректно оформленного файла style.css с обязательным заголовком, без которого WordPress просто не распознаёт тему. Именно с этого файла и начинается любая разработка.
В этом руководстве разберём, как создать собственную тему с нуля: какие файлы обязательны, как устроена иерархия шаблонов, как подключать стили и скрипты правильно, а не «в лоб». Материал ориентирован на WordPress как самую распространённую CMS, но общие принципы — структура, иерархия шаблонов, разделение логики и оформления — применимы и к другим движкам.
Что такое тема и из чего она состоит
Тема — это набор файлов, которые определяют внешний вид сайта: макет страниц, цвета, шрифты, расположение блоков. Важно понимать разделение: тема отвечает за отображение, а функциональность (формы, магазин, SEO-поля) по-хорошему должна жить в плагинах. Если вшить функционал в тему, при её смене вы потеряете часть возможностей сайта.
Минимальный набор для работающей темы на WordPress — всего два файла:
- 📄 style.css — файл стилей с обязательным служебным заголовком, по которому система идентифицирует тему;
- 📄 index.php — главный шаблон, универсальная «запасная» страница для любого типа контента.
На практике тема включает больше файлов: functions.php для настроек и подключения ресурсов, header.php и footer.php для шапки и подвала, отдельные шаблоны для записей, страниц и архивов. Чем детальнее структура, тем гибче управление внешним видом разных разделов.
Подготовка среды разработки
Разрабатывать тему прямо на рабочем сайте — плохая идея: любая синтаксическая ошибка в PHP может «уронить» ресурс для всех посетителей. Безопасный путь — локальный сервер на вашем компьютере. Подойдут решения вроде Local, XAMPP или OpenServer — выбор зависит от вашей операционной системы и привычек.
После установки локальной копии WordPress создайте папку для будущей темы по пути wp-content/themes/название-темы. Название папки пишите латиницей, в нижнем регистре, без пробелов — дефисы допустимы. Это техническое имя, оно не обязано совпадать с отображаемым названием темы.
💡Работайте в редакторе с подсветкой синтаксиса PHP и проверкой ошибок (например, VS Code с расширением для PHP) — это позволит заметить опечатку до активации темы, а не после белого экрана.