Если вы хотите править шаблон WordPress и не потерять изменения после обновления темы, дочерняя тема — правильный способ. Она позволяет менять стили, шаблоны и часть логики отдельно от родительской темы, а при обновлении основной темы ваши правки остаются на месте.
Ниже разберём, как создать child theme, что в неё переносить, как подключить стили и как проверить, что всё работает. Для примера подойдёт любая современная тема WordPress, но конкретные файлы и структура зависят от того, как устроена родительская тема.
Что делает дочерняя тема и когда она нужна
Дочерняя тема наследует внешний вид и функциональность родительской темы, но позволяет переопределять отдельные файлы. Это удобно, если вам нужно:
- изменить CSS без правки файлов родительской темы;
- добавить или заменить шаблон страницы, записи, архива;
- внести небольшие изменения в разметку;
- подключить собственные функции через
functions.phpдочерней темы.
Если вы просто хотите поменять несколько цветов или отступов, иногда достаточно дополнительных CSS в настройках темы или в кастомайзере. Но если правки затрагивают шаблоны или PHP-код, дочерняя тема надёжнее: обновление родительской темы не затрёт ваши изменения.
Что подготовить перед созданием child theme
Перед началом стоит понять, какая тема сейчас активна и как она устроена. Посмотрите, есть ли у неё отдельный файл style.css, шаблоны в корне темы и собственные функции в functions.php. Это поможет понять, что именно вы будете переопределять.
Если сайт уже рабочий, делайте изменения сначала на тестовой копии или хотя бы через резервную копию файлов и базы данных. Ошибка в шаблоне или PHP-файле может временно сломать отображение сайта, а при неудачном редактировании functions.php можно получить белый экран.
Как создать дочернюю тему WordPress вручную
Самый надёжный способ — создать отдельную папку в каталоге wp-content/themes. Название папки может быть любым, но обычно используют понятное имя, например mytheme-child.
Внутри дочерней темы обычно достаточно двух файлов: style.css и functions.php. Иногда добавляют шаблоны, если нужно переопределить конкретные части родительской темы.
В style.css нужно указать служебные данные темы. Минимальный пример выглядит так:
/*
Theme Name: MyTheme Child
Template: mytheme
Version: 1.0
*/Ключевая строка здесь — Template. В ней указывается имя папки родительской темы, а не её название в админке. Если папка родительской темы называется mytheme, то именно это значение и нужно указать. Ошибка в Template — одна из самых частых причин, почему WordPress не видит дочернюю тему.
После этого в functions.php дочерней темы нужно подключить стили родительской темы. Для современных тем лучше использовать правильную очередь подключения, а не копировать весь CSS вручную:
<?php
add_action( 'wp_enqueue_scripts', 'mytheme_child_enqueue_styles' );
function mytheme_child_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}Этот код подключает style.css из родительской темы. Если дочерняя тема будет содержать собственный style.css, он обычно подключается отдельно, в зависимости от структуры родительской темы. У некоторых тем стили собраны не в style.css, а в минифицированных файлах или через сборщик, поэтому иногда нужно ориентироваться на документацию темы.
Как активировать дочернюю тему в админке
После создания файлов зайдите в админку WordPress, откройте раздел Внешний вид → Темы и активируйте новую тему. Если всё сделано правильно, WordPress покажет её как обычную тему, но с наследованием от родительской.
Если тема не отображается, проверьте три вещи: папка лежит в wp-content/themes, файл style.css содержит корректный заголовок, а значение Template совпадает с именем папки родительской темы. Также убедитесь, что родительская тема установлена на сайте, иначе дочерняя не сможет работать.
Как вносить правки безопасно
Главное правило: не редактируйте файлы родительской темы напрямую. Любое обновление может перезаписать ваши изменения. Вместо этого переносите нужные правки в дочернюю тему.
Обычно используют такой порядок:
- сначала добавляют собственные стили в
style.cssдочерней темы или в отдельный файл, если так удобнее; - затем переопределяют шаблонный файл, если нужно изменить HTML-разметку;
- только после этого вносят точечные изменения в
functions.php, если без PHP не обойтись.
Если вам нужно изменить, например, вывод заголовка записи или блока автора, ищите соответствующий шаблон в родительской теме и копируйте его в дочернюю с тем же путём и именем. WordPress сначала ищет файл в дочерней теме, и только потом берёт его из родительской.
Что можно переопределять, а что лучше не трогать
В дочернюю тему обычно переносят шаблоны, которые действительно нужно изменить: header.php, footer.php, single.php, page.php, файлы частей шаблона и отдельные шаблоны архивов. Но копировать всю тему целиком не стоит: чем больше файлов вы дублируете, тем сложнее потом обновлять и сопровождать сайт.
Если изменение можно сделать через хук или фильтр, это часто лучше, чем переписывать целый шаблон. Такой подход меньше зависит от структуры HTML и обычно переживает обновления темы без дополнительных правок.
Как проверить, что дочерняя тема работает правильно
После активации проверьте несколько вещей вручную. Откройте главную страницу, запись, страницу и архивы, которые вы планируете менять. Убедитесь, что стили применяются, а шаблоны отображаются без ошибок верстки.
Если вы добавили собственный CSS, проверьте его в браузере через инструменты разработчика: нужные правила должны загружаться из файлов дочерней темы, а не только из родительской. Если вы переопределяли шаблон, убедитесь, что изменения видны именно в том месте, где ожидались.
Полезно также проверить админку после активации: иногда тема требует дополнительных настроек меню, логотипа или виджетов. Это не ошибка дочерней темы, но после переключения темы такие параметры могут сброситься или потребовать повторной настройки.
Типичные ошибки при создании дочерней темы
Чаще всего проблемы возникают не из-за WordPress, а из-за мелочей в структуре файлов.
- Неверное значение
Template. WordPress не находит родительскую тему, если указано не имя папки, а название темы. - Отсутствует подключение стилей. Дочерняя тема активируется, но выглядит «голой», потому что CSS родителя не подключён.
- Скопирован слишком большой объём файлов. В итоге обновлять тему становится почти так же неудобно, как если бы вы правили родительскую напрямую.
- Правки внесены в неправильный файл. Например, меняют
style.css, когда реальный стиль подключается из другого файла. - Редактирование через админку без резервной копии. Если допустить синтаксическую ошибку в PHP, восстановление может занять больше времени, чем ожидалось.
Когда лучше использовать плагин, а когда — дочернюю тему
Дочерняя тема нужна, если вы меняете внешний вид или шаблоны. Если задача не связана с разметкой и оформлением, иногда разумнее использовать плагин для фрагмента кода или отдельный функциональный плагин. Так вы не привязываете логику к теме и сможете сменить дизайн без потери функциональности.
Практическое правило простое: всё, что относится к оформлению и структуре шаблона, держите в дочерней теме; всё, что относится к функциональности сайта, лучше выносить в плагин или в отдельный кодовый сниппет, если он уместен.
Если вам нужен не просто набор советов, а рабочая схема для регулярных правок темы, дочерняя тема — базовый инструмент. Создаётся она быстро, а экономит много времени при следующих обновлениях. Главное — не копировать лишнее, не править родительскую тему напрямую и проверять результат после каждого заметного изменения.