
Создание дочерней темы WordPress – необходимый процесс для эффективной кастомизации сайта без риска потерять изменения при обновлениях родительской темы. Дочерняя тема позволяет разработчикам добавлять или изменять функционал, не вмешиваясь в исходный код родительской темы, что сохраняет гибкость и безопасность веб-ресурса.
Первый шаг в создании дочерней темы – создание новой папки в каталоге wp-content/themes. Название папки должно быть уникальным, например, mytheme-child, чтобы избежать конфликтов с другими темами. В этой папке будет находиться весь код дочерней темы, а сама структура должна повторять структуру родительской темы для удобства работы с шаблонами и стилями.
Внутри созданной папки нужно создать два файла: style.css и functions.php. В style.css прописывается базовая информация о дочерней теме, а также подключение стилей родительской темы с помощью директивы @import. В functions.php происходит подключение стилей родительской темы, используя функцию wp_enqueue_style(). Этот файл также может содержать дополнительные функции для изменения или расширения функционала сайта.
Используя дочернюю тему, вы сможете безопасно вносить изменения, обновлять родительскую тему и при этом не терять своих настроек, что является важным аспектом для стабильной работы сайта в долгосрочной перспективе.
Как создать дочернюю тему WordPress: пошаговая инструкция
Шаг 1: Создание папки для дочерней темы
Перейдите в директорию с темами WordPress на сервере: wp-content/themes. Создайте новую папку, которая будет содержать вашу дочернюю тему. Рекомендуется назвать папку так же, как и родительскую тему, с добавлением суффикса «-child» (например, twentytwenty-child).
Шаг 2: Создание файла style.css
В новой папке создайте файл style.css. Он необходим для подключения стилей дочерней темы. Начните с базового шаблона для этого файла:
/*
Theme Name: Twenty Twenty Child
Theme URI: https://example.com/twenty-twenty-child
Description: Дочерняя тема для Twenty Twenty
Author: Ваше имя
Author URI: https://example.com
Template: twentytwenty
Version: 1.0.0
*/
@import url("../twentytwenty/style.css");
Важные моменты:
- Template – это название родительской темы, которое можно найти в папке с исходной темой.
- @import импортирует стили родительской темы. Это необходимое условие для подключения CSS родительской темы в дочернюю.
Шаг 3: Создание файла functions.php
Создайте файл functions.php в папке дочерней темы. Этот файл используется для добавления функций и настройки дочерней темы. Внесите следующий код:
Этот код подключает стили родительской темы и затем стили дочерней темы. Без этого шага дочерняя тема не будет корректно отображать стили родительской темы.
Шаг 4: Активация дочерней темы
Перейдите в админ-панель WordPress, откройте раздел Внешний вид → Темы. Здесь должна появиться ваша дочерняя тема. Нажмите на кнопку Активировать.
Шаг 5: Кастомизация и добавление новых файлов
После активации дочерней темы вы можете добавлять в неё собственные файлы и настраивать сайт. Для этого:
- Создавайте новые файлы шаблонов, например,
header.phpилиfooter.php, чтобы переопределить части родительской темы. - Добавляйте функции в
functions.phpдля добавления новых возможностей или изменения поведения.
Важно помнить, что изменения в дочерней теме сохраняются, даже если родительская тема обновляется, что делает её удобным инструментом для долгосрочной работы с WordPress.
Зачем создавать дочернюю тему WordPress?
Дочерняя тема WordPress необходима для безопасной модификации и настройки сайта. Она позволяет вносить изменения в внешний вид и функциональность сайта без риска потерять настройки при обновлениях основной темы.
Основная причина создания дочерней темы – возможность кастомизации. Без дочерней темы изменения напрямую в оригинальной теме могут быть удалены при ее обновлении. Это касается как изменений в стилях, так и в PHP-файлах. Дочерняя тема сохраняет все модификации независимо от обновлений основной.
Еще одним важным моментом является улучшение производительности. Дочерняя тема позволяет загружать только те файлы и скрипты, которые действительно необходимы, что ускоряет загрузку сайта. Кроме того, это дает возможность избегать переписывания или дублирования функций, что улучшает код и облегчает его поддержку.
Для разработчиков создание дочерней темы – это способ организовать чистую и понятную структуру проекта. Это также повышает гибкость при добавлении или удалении функций, улучшая читаемость и поддержку кода. Важно, что при создании дочерней темы изменения можно вносить локально, что упрощает тестирование и устранение ошибок.
Кроме того, дочерняя тема помогает сохранить целостность и стабильность сайта, обеспечивая возможность быстрого возврата к стандартной версии темы, если возникнут проблемы с модификациями. Это удобный инструмент для разработчиков, которые создают уникальные сайты на базе популярной основной темы.
Как выбрать базовую тему для дочерней?

Выбор базовой темы для создания дочерней – ключевой этап, от которого зависит функциональность и удобство разработки. Для этого нужно учитывать несколько факторов, которые обеспечат гибкость и совместимость с вашими требованиями.
Вот несколько рекомендаций, которые помогут правильно выбрать базовую тему:
- Популярность и поддержка: Выбирайте темы, которые активно поддерживаются и обновляются. Это поможет избежать проблем с безопасностью и совместимостью в будущем. Например, такие темы как Twenty Twenty-One или Astra имеют регулярные обновления и активное сообщество.
- Совместимость с плагинами: Убедитесь, что базовая тема поддерживает нужные вам плагины. Например, если планируете использовать WooCommerce, выберите тему, оптимизированную под этот плагин.
- Качество кода: Оцените структуру кода темы. Хорошо написанная тема облегчит вам процесс разработки и адаптации, а также повысит производительность сайта. Обратите внимание на наличие документации и на качество работы с кодом на GitHub, если тема с ним доступна.
- Реализованные шаблоны: Если вам нужны готовые шаблоны страниц или настроенные элементы дизайна, выберите тему с широким набором предустановленных шаблонов. Это ускорит процесс создания сайта и упростит настройку.
- Легкость кастомизации: Выбирайте тему, которая легко кастомизируется через панель администратора. Простой и интуитивно понятный интерфейс управления позволит вам настроить внешний вид сайта без глубоких знаний в программировании.
- Доступность документации и сообщество: Хорошая тема всегда сопровождается детальной документацией, которая поможет вам быстро решить возникающие вопросы. Если у темы есть активное сообщество, это дополнительно упростит поиск решений проблем.
- Минимализм и производительность: Оптимизация темы влияет на скорость загрузки сайта. Выбирайте темы, которые не перегружены лишними функциями и загружают только необходимый код, чтобы улучшить производительность.
Не забывайте, что базовая тема – это основа для вашей дочерней темы. Выбирайте ее так, чтобы в будущем вам было легко масштабировать сайт и добавлять новые функции. Основываясь на этих критериях, можно выбрать именно ту тему, которая будет соответствовать вашим проектным целям и упростит дальнейшую работу над сайтом.
Создание структуры папок для дочерней темы

Создайте новую папку в каталоге /wp-content/themes/. Имя папки должно быть уникальным и логически связанным с родительской темой, например: twentytwentyone-child.
Внутри этой папки обязательно создайте два файла:
style.css– для определения информации о теме и подключения стилей.functions.php– для подключения стилей родительской темы и дополнительных функций.
Структура минимальной дочерней темы:
wp-content/ └── themes/ └── twentytwentyone-child/ ├── style.css └── functions.php
При необходимости добавьте следующие папки вручную:
/js/– для скриптов JavaScript./css/– для дополнительных таблиц стилей./templates/– для переопределения шаблонов родительской темы.
Пример расширенной структуры:
twentytwentyone-child/ ├── css/ ├── js/ ├── templates/ ├── style.css └── functions.php
Не копируйте файлы и папки из родительской темы без необходимости – дочерняя тема должна переопределять только те файлы, которые вы хотите изменить.
Написание style.css для дочерней темы
Файл style.css – обязательный элемент любой дочерней темы WordPress. Он не только содержит пользовательские стили, но и определяет основные метаданные темы. Без него WordPress не распознает тему как дочернюю.
Создайте файл style.css в корне директории дочерней темы. В начале файла укажите следующий блок комментариев:
/* Theme Name: mychildtheme Template: parenttheme Version: 1.0.0 */
Theme Name – произвольное имя темы. Template – обязательное поле, указывающее на системное имя директории родительской темы (регистр важен). Если указать неверно, дочерняя тема не будет работать. Version – номер версии, можно использовать для кэширования.
После метаданных добавьте стили. Например:
body {
background-color: #f7f7f7;
}
Подключение стилей родительской темы не выполняется автоматически. Не используйте @import – это устаревший и неэффективный способ. Вместо этого подключение следует реализовать в functions.php дочерней темы с помощью wp_enqueue_style().
Как подключить родительскую тему к дочерней?

Для корректной работы дочерней темы необходимо явно указать, какая родительская тема будет использоваться. Это делается через файл style.css дочерней темы.
Создайте файл style.css в корне директории дочерней темы и добавьте в его начало следующий код:
/*
Theme Name: Название вашей дочерней темы
Template: имя_папки_родительской_темы
*/
Параметр Template должен точно соответствовать названию директории родительской темы в папке /wp-content/themes/. Если имя указано неверно, WordPress не распознает связь между темами.
После этого создайте файл 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' );
}
Функция get_template_directory_uri() указывает на директорию родительской темы, независимо от активной темы. Не используйте get_stylesheet_directory_uri(), так как она будет ссылаться на директорию дочерней темы и вызовет ошибку.
После выполнения этих шагов дочерняя тема будет использовать стили и функциональность родительской, сохраняя возможность переопределения нужных компонентов.
Добавление и изменение функций через functions.php

Файл functions.php в дочерней теме используется для добавления или переопределения функций родительской темы. Он загружается автоматически при активации дочерней темы.
- Создайте файл
functions.phpв корне дочерней темы, если его ещё нет. - Добавьте в начало файла открывающий тег PHP:
<?php
Чтобы добавить новый функционал:
function my_custom_script_enqueue() {
wp_enqueue_script('custom-js', get_stylesheet_directory_uri() . '/js/custom.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'my_custom_script_enqueue');
get_stylesheet_directory_uri()указывает на директорию дочерней темы.add_action()регистрирует выполнение функции в нужный момент.
Для переопределения функций родительской темы используйте условие function_exists, если в родительской теме это предусмотрено:
if ( ! function_exists('parent_function_name') ) {
function parent_function_name() {
// Новый код
}
}
Если родительская функция уже определена и не обернута в function_exists, её нельзя переопределить напрямую. В таком случае:
- Отключите хук родительской функции через
remove_action()илиremove_filter(). - Добавьте свою реализацию тем же хуком.
function remove_parent_function() {
remove_action('wp_head', 'parent_function_hook');
}
add_action('init', 'remove_parent_function');
Рекомендуется группировать пользовательские функции по назначению и добавлять комментарии. Не вставляйте HTML-код напрямую – используйте хуки и фильтры. Избегайте дублирования кода родительской темы: это затруднит обновление.
Как модифицировать шаблоны родительской темы в дочерней?

Чтобы изменить шаблоны родительской темы, не затрагивая её файлы, скопируйте нужный файл в папку дочерней темы, сохранив его структуру и название. WordPress автоматически отдаст приоритет файлу из дочерней темы.
- Создайте в дочерней теме структуру папок, аналогичную структуре родительской. Например, если файл находится в
/template-parts/content.php, создайте в дочерней теме папку/template-parts/и поместите в неё копиюcontent.php. - Отредактируйте скопированный файл по своему усмотрению. Например, добавьте или удалите элементы, измените HTML-разметку или вставьте пользовательские хуки.
- Не редактируйте шаблоны, генерируемые динамически функциями PHP (например,
get_template_part()), без сохранения пути и имени файла. WordPress будет искать их в дочерней теме по тем же параметрам вызова. - Избегайте изменения файлов, содержащих критическую логику (например,
functions.php,header.php), если можно переопределить поведение через хуки и фильтры.
- Чтобы переопределить файл
page.php, скопируйте его из родительской темы и разместите в корне дочерней темы. - Для переопределения
woocommerce/single-product.phpсоздайте в дочерней теме папкуwoocommerceи поместите файл туда. - Если родительская тема использует шаблоны блоков (FSE), копируйте нужные части из папки
block-templatesилиblock-partsи редактируйте их в дочерней теме.
После сохранения изменений обновите страницу сайта и убедитесь, что применяется файл дочерней темы. При ошибках активируйте отладку, добавив в wp-config.php строку define('WP_DEBUG', true);.
Тестирование и активация дочерней темы на сайте
После создания дочерней темы необходимо убедиться в её корректной работе. Сначала перейдите в админ-панель WordPress: «Внешний вид» → «Темы». Найдите свою дочернюю тему по имени, указанному в файле style.css. Нажмите «Предпросмотр», чтобы проверить отображение без активации.
Обратите внимание на элементы: шапка, подвал, меню, стили кнопок и фоновых блоков. Если что-то не отображается, проверьте подключение родительской темы в functions.php. Убедитесь, что используется функция wp_enqueue_style() с правильными путями к стилям.
После успешного предпросмотра нажмите «Активировать». Очистите кэш браузера и при необходимости кэш плагинов (например, через WP Super Cache или W3 Total Cache), чтобы избежать загрузки устаревших стилей.
Откройте сайт в режиме инкогнито и на мобильном устройстве. Проверьте работоспособность виджетов, корректность ссылок, отображение адаптивных элементов. При выявлении проблем включите отладку, добавив в wp-config.php строку define('WP_DEBUG', true);.
Завершите проверку, протестировав основные шаблоны: page.php, single.php, archive.php. Убедитесь, что переопределения из дочерней темы применяются и не вызывают ошибок PHP. Только после этого переходите к доработке дизайна или функционала.
Вопрос-ответ:
Зачем вообще создавать дочернюю тему, если можно просто изменить оригинальную?
Если вы начнете вносить изменения прямо в файлы основной темы, то при следующем обновлении эти изменения будут удалены. Дочерняя тема позволяет сохранить модификации независимо от обновлений родительской темы. Это особенно удобно, когда нужно изменить стили или добавить функции, не теряя возможности использовать улучшения и исправления оригинала.
Какие файлы нужны для создания минимальной дочерней темы?
Для самой простой версии дочерней темы достаточно двух файлов: `style.css` и `functions.php`. Первый содержит информацию о теме и может подключать стили родительской темы, второй — нужен для регистрации этой темы и добавления скриптов или других функций. Этих файлов достаточно, чтобы тема появилась в админке WordPress и могла работать.
Можно ли использовать дочернюю тему, если у родительской нет готовой структуры для этого?
Да, можно. WordPress поддерживает дочерние темы для любой установленной темы, даже если она не предполагает такой возможности. Главное — корректно указать в `style.css` дочерней темы имя родительской темы в строке `Template:`. Однако стоит учитывать, что не все темы одинаково удобно настраиваются через дочерние — у некоторых жесткая структура, которую сложно изменить без глубоких правок.
Что делать, если после активации дочерней темы сайт выглядит не так, как ожидалось?
Возможно, стили родительской темы не были подключены или нарушен порядок их загрузки. Проверьте, правильно ли оформлен файл `functions.php` и загружается ли `style.css`. Иногда проблема связана с кэшированием — попробуйте очистить кэш браузера или плагина. Также убедитесь, что в файле `style.css` дочерней темы указано правильное имя родительской темы в параметре `Template:`. Если это не помогло, проверьте консоль браузера — там могут быть указаны ошибки загрузки файлов.
