Если вы правите файлы родительской темы напрямую, любое обновление может стереть ваши изменения. Дочерняя тема решает именно эту задачу: она наследует внешний вид и логику родительской темы, но позволяет безопасно менять стили, шаблоны и отдельные функции без риска потерять правки после обновления.
Ниже — рабочая схема, которая подходит для большинства тем WordPress. Для неё не нужны специальные плагины, хотя на практике удобнее один раз сделать child theme вручную и дальше поддерживать её как отдельный слой поверх родительской темы.
Что такое дочерняя тема и когда она действительно нужна
Дочерняя тема — это отдельная тема WordPress, которая использует файлы другой, родительской темы. WordPress сначала ищет нужный шаблон в child theme, а если файла там нет — берёт его из родительской темы. Поэтому вы можете переопределить только те части, которые хотите изменить: стили, header, footer, шаблон записи, отдельные блоки разметки.
Она нужна, если вы:
- меняете стили темы и не хотите потерять их после обновления;
- правите шаблоны страниц, записей, архивов или отдельных частей темы;
- добавляете собственные функции через
functions.php; - хотите оставить родительскую тему обновляемой без ручного слияния правок.
Если вы меняете только несколько CSS-правил и тема поддерживает дополнительные стили через настройки или кастомайзер, иногда можно обойтись без child theme. Но как только речь идёт о шаблонах или серьёзной доработке дизайна, дочерняя тема — нормальный и безопасный путь.
Что подготовить перед созданием child theme
Перед началом проверьте три вещи: какая тема сейчас активна, где лежат её файлы и есть ли у вас доступ к файловой системе сайта. Обычно достаточно FTP/SFTP, файлового менеджера хостинга или доступа к панели управления.
Ещё один важный момент: не все темы устроены одинаково. У классических тем child theme создаётся стандартным способом через папку с файлами style.css и functions.php. У блок-тем на базе Site Editor структура другая, и там часть задач решается через theme.json и шаблоны блоков. В этой статье речь идёт о классическом варианте, который подходит для большинства популярных тем WordPress.
Как создать дочернюю тему вручную
Самый надёжный способ — создать отдельную папку в каталоге /wp-content/themes/. Имя папки может быть любым, но лучше делать его понятным, например parenttheme-child.
Внутри этой папки нужно создать минимум два файла: style.css и functions.php.
Файл style.css
В style.css обязательно должен быть заголовок темы. Без него WordPress не увидит child theme в списке тем. Пример:
/*
Theme Name: Parent Theme Child
Template: parent-theme-folder
Version: 1.0
*/Здесь самое важное — строка Template. В неё нужно указать имя папки родительской темы, а не её название в админке. Например, если родительская тема лежит в /wp-content/themes/astra/, то Template: astra.
Если ошибиться в Template, WordPress не сможет связать дочернюю тему с родительской и не покажет её как рабочую тему.
Файл functions.php
Через functions.php обычно подключают стили родительской темы и добавляют собственные функции. Для начала достаточно стандартного кода:
<?php
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' );
function child_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ), wp_get_theme()->get('Version') );
}Этот код делает две вещи: подключает стиль родительской темы и затем загружает стиль дочерней темы. В большинстве случаев этого достаточно, чтобы ваши CSS-правки из style.css child theme начали работать.
Если родительская тема подключает стили не через style.css, а через отдельные файлы и сложную систему ассетов, порядок подключения может отличаться. Тогда лучше проверить документацию темы: иногда достаточно добавить только get_stylesheet_uri(), а иногда нужно повторить логику родителя аккуратно, не ломая его зависимости.
Как подключить дочернюю тему в админке WordPress
После создания файлов откройте админку WordPress и перейдите в раздел Внешний вид → Темы. Дочерняя тема должна появиться в списке как отдельная тема. Активируйте её так же, как обычную тему.
После активации проверьте сайт на фронтенде. Если оформление пропало или стили не загрузились, почти всегда причина в одном из трёх пунктов:
- неверно указан
Templateвstyle.css; - не подключён стиль родительской темы;
- в родительской теме стили завязаны на нестандартную схему подключения, и стандартный пример нужно адаптировать.
Если сайт выглядит «голым», не спешите редактировать всё подряд. Сначала проверьте, что child theme действительно активна, а затем откройте исходный код страницы и убедитесь, что CSS-файлы загружаются без ошибок 404.
Как перенести в дочернюю тему только нужные изменения
Главная ошибка новичков — копировать в child theme всю родительскую тему целиком. Так делать не нужно. Переносите только те файлы, которые собираетесь менять. Всё остальное WordPress возьмёт из родителя автоматически.
Обычно в дочернюю тему переносят:
style.css— для правок внешнего вида;header.phpиfooter.php— если нужно изменить шапку или подвал;single.php,page.php,archive.php— если меняется разметка отдельных типов страниц;- части шаблонов, если тема использует их через
get_template_part(); functions.php— для собственных функций и хуков.
Схема простая: копируете нужный файл из родительской темы в child theme, а затем редактируете уже копию. WordPress приоритетно использует файл из дочерней темы, если он там есть.
Например, если вы хотите изменить вывод заголовка записи, не трогайте весь шаблон сайта. Найдите конкретный файл, который отвечает за этот участок, и перенесите только его. Это уменьшает риск поломать тему и упрощает дальнейшие обновления.
Как безопасно добавлять стили и не ломать обновления
Для CSS лучше держать все пользовательские правки в style.css дочерней темы или в отдельном файле, который подключается из functions.php. Не редактируйте файлы родителя, даже если кажется, что так быстрее.
Практически это выглядит так: сначала находите нужный селектор через инструменты разработчика в браузере, затем добавляете переопределение в child theme. Если правило не срабатывает, обычно проблема в специфичности селектора или в порядке подключения стилей, а не в самой дочерней теме.
Полезный рабочий подход:
- сначала вносите минимальное CSS-изменение;
- сразу проверяйте его на главной, записи, странице и архиве;
- если всё работает, переходите к следующему участку;
- не копируйте большие куски CSS без понимания, какие из них реально нужны.
Если тема использует встроенный кастомайзер, часть настроек может перекрывать ваши стили. Тогда нужно смотреть, какие правила генерируются в HTML страницы, и при необходимости повышать специфичность селектора, а не пытаться «переписать всё».
Как проверить, что дочерняя тема работает правильно
После активации и переноса правок проверьте не только внешний вид, но и поведение сайта. Минимальный список проверки такой:
- дочерняя тема активна в Внешний вид → Темы;
- сайт открывается без ошибок верстки;
- стили из child theme применяются;
- шаблоны, которые вы копировали, действительно переопределились;
- обновление родительской темы не затёрло ваши изменения.
Если вы меняли шаблон, откройте страницу, для которой он предназначен, и сравните результат с ожидаемым. Если меняли CSS, проверьте несколько разных страниц, потому что некоторые темы используют разные шаблоны для главной, записей и архивов.
Хорошая практика — оставить в child theme короткий комментарий в начале файлов, где вы описали, что именно изменено и зачем. Через несколько месяцев это экономит время, особенно если сайт поддерживает не один человек.
Типичные ошибки при создании child theme
Чаще всего проблемы возникают не из-за WordPress, а из-за мелочей в структуре файлов.
- Неверный Template. Указывается имя папки родительской темы, а не её заголовок.
- Нет подключения стилей родителя. В результате child theme активна, но оформление выглядит сломанным.
- Скопировано слишком много файлов. Это усложняет поддержку и мешает обновлениям.
- Правки сделаны в родительской теме. После обновления они исчезнут.
- Изменён не тот шаблон. В WordPress один и тот же элемент может выводиться разными файлами в зависимости от типа страницы.
Если после активации дочерней темы сайт перестал выглядеть нормально, не удаляйте её сразу. Сначала отключите только свои изменения и проверьте, возвращается ли исходное оформление. Так проще понять, где именно ошибка: в подключении стилей, в шаблоне или в конкретном CSS-правиле.
Когда дочерняя тема не лучший вариант
Дочерняя тема удобна, но не всегда нужна. Если вы используете современную блок-тему и меняете в основном глобальные стили, иногда проще работать через редактор сайта и theme.json. Если же задача сводится к точечным правкам CSS, а тема уже даёт достаточно настроек, child theme может оказаться избыточной.
Но если вы планируете менять шаблоны, подключать свои функции или регулярно дорабатывать дизайн, дочерняя тема остаётся самым предсказуемым и безопасным способом. Она отделяет ваши правки от обновлений родителя и делает поддержку сайта заметно проще.
Если нужен короткий итог: создайте отдельную папку в /wp-content/themes/, добавьте style.css с правильным Template, подключите стили в functions.php, активируйте тему в админке и переносите только те файлы, которые действительно собираетесь менять. Это базовый и рабочий сценарий, который подходит большинству сайтов на WordPress.