Как создать дочернюю тему WordPress

Темы WordPress предоставляют гибкий и мощный механизм для кастомизации внешнего вида и функционала. Однако при внесении изменений в файлы основной (родительской) темы есть риск, что все доработки будут утеряны при следующем обновлении. Чтобы избежать этого и сохранить все изменения, в WordPress предусмотрен инструмент — дочерняя тема. Этот механизм позволяет создавать собственные настройки и стили, не затрагивая основную тему, тем самым обеспечивая стабильность и удобство при обновлениях.

Что такое дочерняя тема WordPress?

Дочерняя тема — это тема, которая наследует функциональность и стили родительской темы, но может изменять или дополнять их по своему усмотрению. Она используется как надстройка над основной темой: WordPress сначала обращается к дочерней теме, и если нужный файл или стиль не найден, система берёт его из родительской темы. Таким образом, вы можете переопределять шаблоны, добавлять стили и функции, не изменяя основной код.

Почему дочерняя тема — это хорошая практика?

Вот несколько причин, по которым дочерние темы особенно полезны:

  1. Сохранение обновлений основной темы. При использовании дочерней темы все изменения вносятся именно в нее, а не в основную тему. Это означает, что когда выходит обновление основной темы, вы можете спокойно его установить, не опасаясь потерять свои изменения.
  2. Упрощенное тестирование. Вы можете экспериментировать с новыми функциями и стилями в дочерней теме, не рискуя работоспособностью всего сайта. Если что-то пойдет не так, всегда можно быстро откатиться к базовой версии.
  3. Модульность кода. Дочерняя тема позволяет организовать код более структурированно. Все ваши изменения находятся в одном месте, что упрощает поддержку и обслуживание сайта в будущем.
  4. Безопасность. Изменения в коде основной темы могут привести к ошибкам и уязвимостям. Дочерняя тема минимизирует риски, так как основная функциональность остается нетронутой.
  5. Оптимизация производительности. В дочерней теме можно оптимизировать только те части кода, которые действительно требуют улучшения, не затрагивая основную структуру.
  6. Отслеживание изменений. При работе с дочерней темой легче отслеживать, какие изменения были внесены и зачем, что особенно важно при передаче проекта другому разработчику.

Как создать дочернюю тему WordPress

Создание дочерней темы (child theme) — это относительно простой процесс, не требующий специальных навыков программирования.

Дочернюю тему WordPress рекомендуется создавать на самых ранних этапах разработки сайта, как только вы определились с основной (родительской) темой.

Шаг 1.

Создание папки дочерней темы

  1. Перейдите в директорию с темами WordPress /wp-content/themes/
  2. Создайте новую папку для дочерней темы, например: your-theme-child

Если родительская тема называется twentytwentyfour, то дочернюю назовите, например, twentytwentyfour-child.

Шаг 2.

Создание файлов дочерней темы

Минимальный набор файлов дочерней темы включает:

  • style.css — файл, содержащий заголовок темы и стили.
  • functions.php — для правильного подключения стилей и функций.

Откройте папку дочерней темы и создайте внутри нее два этих файла:

📂 twentytwentyfour-child
   📄 style.css
   📄 functions.php

Содержимое файла style.css

В этом файле достаточно указать следующие строки:

/*
 Theme Name: Дочерняя тема
 Template: twentytwentyfour
 Version: 1.0
*/

Параметр Template — это имя папки родительской темы, а не её название.

Содержимое файла functions.php

В файле functions.php необходимо подключить стили родительской и дочерней темы

<?php
function child_theme_enqueue_styles()
{
	$parent_style = 'twentytwentyfour-style'; // Название файла стилей родительской темы

	wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
	wp_enqueue_style(
		'child-style',
		get_stylesheet_directory_uri() . '/style.css',
		[ $parent_style ],
	);
}
add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');

Чтобы точно узнать название файла стилей $parent_style, можно посмотреть в functions.php родительской темы.

Шаг 3.

Активация темы в админке

  1. Перейдите в админку WordPress > Внешний вид > Темы.
  2. Найдите вашу дочернюю тему и нажмите Активировать.

Как работает дочерняя тема WordPress

Давайте рассмотрим механизм работы WordPress, когда подключена дочерняя тема.

Когда WordPress загружает сайт, он сначала проверяет, есть ли нужный файл в дочерней теме. Если файл существует, используется он. Если нет — используется файл из родительской темы.

Например, если в дочерней теме есть page.php, он будет использоваться вместо page.php родительской темы. Это правило распространяется на файлы, стили и функции.

Также дочерняя тема может добавить новые функции через functions.php, при этом код родительской темы сохраняется, так как файлы functions.php не переопределяются, а дополняются.

Для переопределения функций, в родительской теме эти функции должны быть обернуты в конструкцию if( !function_exists( 'function_name' ) ). В противном случае будет возникать ошибка: Fatal error: Cannot redeclare.

Создание дочерних тем с помощью плагинов

Если вы не хотите вручную создавать файлы дочерней темы, можно воспользоваться специальными плагинами.

Плагин Child Theme Configurator

Child Theme Configurator — это мощный плагин для WordPress, который значительно упрощает работу с дочерними темами. Его основные преимущества:

  • Автоматическое создание дочерней темы прямо из административной панели WordPress
  • Визуальный редактор для редактирования стилей CSS
  • Встроенный редактор PHP-кода для модификации функций
  • Управление файлами через интерфейс администратора
  • Создание резервных копий перед внесением изменений
  • Предварительный просмотр изменений в реальном времени

Плагин Generate Child Theme

Generate Child Theme — это удобный плагин для создания и управления дочерними темами в WordPress. Он позволяет быстро создавать дочерние темы из любой темы, которая в данный момент установлена на вашем сайте.

С Generate Child Theme вам не придется иметь дело с программированием или какой-либо настройкой при создании дочерней темы. Вам нужно будет только заполнить несколько полей: выбрать родительскую тему, указать название дочерней темы, описание, автора и версию.

Заключение

Дочерняя тема — это важный инструмент для тех, кто хочет гибко настраивать сайт на WordPress, не рискуя потерять изменения. Она удобна, безопасна и легко создаётся даже без глубоких знаний кода, а с помощью плагинов этот процесс становится ещё проще.