Как перенести настройки Customizer в дочернюю тему

Хорошая идея — устанавливать и активировать дочернюю тему сразу же после начала работы над сайтом. К сожалению, иногда об этом забывают и начинают разработку без дочерней темы. Со временем появляется необходимость в каких-то специфичных изменениях на сайте. Если теперь установить и активировать дочернюю тему, то все сделанные изменения внешнего вида сайта с помощью Customizer будут сброшены. В этой статье я расскажу, как перенести настройки Customizer в дочернюю тему и сохранить сделанные изменения.
Почему это так работает?
WordPress сохраняет настройки Customizer в таблице базы данных wp_options. По одной записи для каждой темы. Имя такой записи с настройками начинается с theme_mods_. Вот реальный пример из базы данных на одном из моих сайтов:

Обратите внимание, что, например, для темы Dinova есть 2 записи. Это:
- theme_mods_dinova
- theme_mods_dinova-child
Таким образом, мы видим, что WordPress использует 2 разные записи в таблице wp_options для хранения настроек. При переключении тем с дочерней на родительскую меняется запись, которая хранит настройки для Customizer. Именно из-за этого в большинстве тем пользовательские настройки автоматически не переносятся.
Как перенести настройки Customizer?
Есть несколько способов.
Скопируйте вручную настройки из одной записи в другую
- Найдите запись с настройками родительской темы Customizer в таблице wp_options. Название будет примерно таким: theme_mods_[название_вашей_темы].
- Скопируйте содержимое найденной записи в запись дочерней темы. Название записи для дочерней темы будет примерно таким: theme_mods_[название_вашей_темы]-child.
Сам лично этот способ не пробовал, но должно работать. Отпишитесь в комментариях. 😉
Используйте плагин Customizer Export/Import
Это бесплатный плагин, который сделает всю работу за вас. Здесь вы сможете его скачать.
- Установите и активируйте плагин.
- Зайдите в настройки Customizer и выберите последний пункт в меню — Export/Import.

Порядок действий следующий:
- Активируйте родительскую тему. Нажмите Export. Настройки Customizer сохранятся в виде файла на вашего устройство.
- Активируйте дочернюю тему. Нажмите Import. Выберите файл, который сохранили к себе в предыдущем шаге. Данные будут импортированы, и таким образом перенесены настройки Customizer в дочернюю тему.

Это способ я пробовал, и он работает на 100%.
Эти 2 способа помогут вам перенести настройки Customizer в дочернюю тему после того, как уже были сделаны какие-то изменения для родительской темы. Пишите в комментариях, сталкивались ли вы с похожей проблемой?
#todo: Написать плагин для автоматического копирования настроек Customizer между родительской и дочерней темами.
Как создать дочернюютема каденс бесплатно? Там в них вроде только в платной версии есть такая возможность?
Можно просто здесь скачать — https://www.kadencewp.com/child-themes. Насколько я помню, в ней нет ничего такого особенного, т.е. дочернюю тему можно создать по методу, описанному в WordPress Codex.
Премиум решение дает дополнительные возможности, но лично я не вижу в них особого смысла на данный момент.