Дочерняя тема WordPress: типичные ошибки и как их избежать
Дочерняя тема WordPress сохраняет ваши изменения при обновлении родительской, но одна ошибка в имени папки или подключении стилей может оставить сайт без оформления. Разбираем частые сбои на примере классических тем WordPress 6.x.

В классической теме WordPress 6.x дочерняя тема может активироваться, но не загрузить стили родительской — или потерять ваши изменения после обновления. Чаще всего причина не в сложной настройке: не совпадает имя каталога в заголовке, таблица стилей подключена не тем способом или скопированный шаблон оказался не там. Ниже — типичные ошибки, способы их проверить и исправить.
Сначала проверьте основу
Примеры ниже относятся к классическим темам, в которых оформление задают CSS-файлы и PHP-шаблоны. В блочных темах, построенных на Site Editor и файлах HTML, некоторые детали переопределения шаблонов отличаются: перед изменениями сверяйтесь с документацией именно вашей темы.
До правок убедитесь, что у вас есть доступ к файлам сайта и свежая резервная копия. Узнайте точное имя каталога родительской темы в wp-content/themes/: это не обязательно совпадает с названием, которое видно в панели WordPress. Удобнее проверять изменения на тестовом сайте, а не на работающем магазине.
Ошибки, из-за которых тема не работает
1. Неправильное значение Template
В дочерней теме в каталоге wp-content/themes/my-child-theme/ должен лежать файл style.css с заголовком темы. Поле Template указывает на имя каталога родительской темы, а не на её отображаемое название и не на адрес CSS-файла.
/*
Theme Name: My Child Theme
Template: parent-theme-directory
*/
Замените parent-theme-directory на реальное имя папки родительской темы. Регистр букв и дефисы имеют значение. Если каталог называется, например, my-parent-theme, такое же значение укажите в Template. После этого дочерняя тема должна появиться среди тем в админке.
2. Ожидание, что стили родителя подключатся сами
Файл style.css дочерней темы не всегда автоматически загружает CSS родительской. В классических темах безопаснее явно подключить таблицы стилей через очередь WordPress. Этот вариант подходит, если родительская тема действительно использует собственный style.css и не подключает его отдельно своим кодом.
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );
function my_child_theme_enqueue_styles() {
wp_enqueue_style(
'my-parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'my-child-style',
get_stylesheet_uri(),
array( 'my-parent-style' )
);
}
Сохраните код в functions.php дочерней темы. Не добавляйте закрывающий тег ?> в конце файла. После очистки кеша проверьте страницу: правила родителя должны загрузиться раньше правил дочерней темы. Если родитель подключает стили через собственную функцию или несколько отдельных файлов, сначала проверьте его документацию: приведённый пример может создать дублирование и не охватить все стили.
3. Повторный вызов функции родителя
functions.php дочерней темы не заменяет файл родительской: WordPress загружает оба. Поэтому не копируйте туда целиком содержимое родительского файла и не объявляйте заново функции с теми же именами — это может привести к фатальной ошибке о повторном объявлении функции. Добавляйте только собственные действия и фильтры. Если нужно изменить поведение родительской функции, сначала выясните, как она подключена и допускает ли такое изменение.
4. Копирование шаблона в неправильный каталог
Чтобы переопределить PHP-шаблон, скопируйте его в дочернюю тему по тому же относительному пути. Например, файл parent-theme/template-parts/content.php обычно переопределяют как my-child-theme/template-parts/content.php, а не как my-child-theme/content.php. Имя и расположение должны соответствовать структуре родительской темы. Не каждый файл темы заменяется таким копированием: для отдельных компонентов разработчик может предусмотреть хуки или иной способ настройки.
5. Правка родителя вместо дочерней темы
Если изменить файл непосредственно в родительской теме, обновление может затереть правку. До редактирования проверьте, что активна именно дочерняя тема, а файл сохранён в её каталоге. Сам факт, что на странице виден результат, ничего не говорит о том, где лежит исходный файл.
Перед обновлением родительской темы задайте себе один вопрос: где находится каждая правка — в дочерней теме, настройках сайта или плагине? Если ответ — «в файлах родителя», обновление может её удалить.
Как проверить изменения без догадок
- Проверьте структуру каталогов. Внутри каталога дочерней темы должны находиться её собственные
style.cssи, если нужны дополнительные настройки,functions.php. Убедитесь, что каталоги не вложены друг в друга случайно. - Сверьте заголовок. Сопоставьте значение
Templateс именем папки родительской темы. Если тема не появилась в админке, проверьте написание и наличие обязательных файлов. - Посмотрите, какие стили загрузились. В инструментах разработчика браузера откройте вкладку Network или Sources и найдите CSS родительской и дочерней тем. Отсутствующий файл, ошибка загрузки или две копии одного CSS укажут, где искать проблему.
- Очистите кеш. Проверьте сайт в приватном окне и очистите кеш браузера, плагина кеширования и CDN, если они используются. Иначе можно принять старую копию CSS за результат новой правки.
- Проверьте обновление отдельно. На тестовой копии обновите родительскую тему и убедитесь, что ваши шаблоны и стили остались на месте. Не проводите первую такую проверку на боевом сайте.
Что ломается после обновления и смены темы
Дочерняя тема зависит от устройства родительской. Если обновление переименовало шаблон, изменило HTML-разметку или перестало использовать нужный файл, старое переопределение может не сработать либо конфликтовать с новой версией. Проверяйте после обновлений не только главную страницу, но и те типы страниц, для которых копировали шаблоны: запись, архив, поиск, страницу товара — если сайт использует магазин.
Дочерняя тема также не переносит изменения в другую родительскую тему автоматически. При смене родителя проверьте заголовок Template, подключение стилей и каждый скопированный шаблон. Папка с файлами сама по себе не означает, что сайт продолжает применять её код: активная тема определяется в настройках WordPress.
Термин: каскад CSS — порядок, по которому браузер выбирает применимые правила оформления. Если стили дочерней темы загрузились раньше родительских, часть ваших правил может проиграть правилам, загруженным позже.
Что сделать дальше
Составьте список всех файлов, которые вы переопределили, и храните копию дочерней темы отдельно от сервера. После обновления WordPress или родителя проверяйте страницы с этими шаблонами и отсутствие ошибок в консоли браузера. Если сайт построен на блочной теме или родитель подключает CSS нестандартно, не переносите классический пример вслепую: изучите документацию темы и проверьте результат на тестовой копии.
Логотип и фирменный стиль: Три концепции разного характера, палитра с обоснованием, проверка на читаемость в малом размере и в один цвет.
Спросить за 60 ₽Источники: WordPress Developer Resources: Child Themes, WordPress Developer Resources: Including CSS & JavaScript
Частые вопросы
Почему дочерняя тема активировалась, но сайт потерял оформление?
Что писать в поле Template в style.css?
Нужно ли копировать functions.php родительской темы?
Сотрутся ли изменения после обновления родительской темы?
Почему мои CSS-правила есть в файле, но не видны на сайте?
Подходит ли этот способ для блочной темы WordPress?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.