Плагины импорта и экспорта настроек темы (Customizer) и виджетов

Click here to view original web page at wordpressinside.ru
Импорт и экспорт настроек темы

Хочу поделиться с вами кратким обзором двух полезных модулей экспорта / импорта данных, позволяющих переносить текущие настройки шаблона и виджеты. Они пригодятся, когда вам нужно копировать с одного сайта не всю базу, а лишь часть информации. Подобные «единичные решения» я уже когда-то обозревал – например, была подборка плагинов экспорта пользователей и статья про выполнение экспорта WordPress в Яндекс.Маркет (в YML формате). Сегодня же поговорим о миграции элементов макета.

Customizer Export/Import – экспорт настроек шаблона

Этот модуль я использую уже не первый раз и, как вы поняли из заголовка, он помогает сохранять текущие параметры темы в настройщике (Thete Customizer) и применять их на другом сайте для такого же макета. Во многих премиальных шаблонах данная функция идет в комплекте, но с бесплатными приходится искать дополнительные решения.

Customizer Export/Import
Зачем это нужно? Вот парочка ситуаций:
  • Вы можете сохранить текущие параметры макета для бекапа перед тем как будете менять какие-то из них. В таком случае делать копию базы или запоминать их было бы слишком хлопотно.
  • Вам нужно перенести настройки темы на другой аналогичный сайт. У меня как раз недавно была похожая задача, где надо было на второй проект скопировать только шаблон без остальных данных.

Сам процесс экспорта настроек выполняется максимально легко. После установки плагина в Настройщике темы у вас появится вкладка «Export/Import»:

Customizer импорт экспорт

Здесь кликаете по той кнопке, которая вам нужна. В случае импорта предварительно можете поставить галочку «Download and import image files?» чтобы загрузить на хостинг файлы (в основном картинки), используемые в работе.

На официальном сайте Customizer Export/Import дополнительно приведен код сниппета, позволяющего расширить блок данных для экспорта. С его помощью можно включить в файл настройки, что даже не входят в состав Customizer`а.

function my_export_option_keys( $keys ) {
    $keys[] = 'my_option_key';
    $keys[] = 'another_option_key';
    return $keys;
}
add_filter( 'cei_export_option_keys', 'my_export_option_keys' );

Реальность и замечания

Следует заметить, что в ходе тестирования Customizer Export/Import не все прошло идеально.

  • Во-первых, не были скопирован блок “Дополнительный код CSS”, поэтому пришлось переносить его вручную.
  • Во-вторых, не все картинки импортировались, хотя соответствующий параметр был включен – да, часть изображений перенеслась, но не все.
  • Раздел с Виджетами также никак не экспортируется.

Итого получается, что даже с использованием модуля все равно придется выполнять часть работы вручную — как минимум, проверить упомянутые мною выше косяки. НО плагин постепенно улучается и получает новые функции – возможно, дальше все это исправится.

Widget Importer & Exporter – импорт и экспорт виджетов

Так как прошлое решение отказалось переносить виджеты с одного сайта на другой, то пришлось искать другой выход. Данный модуль отлично справился со своей задачей.

Widget Importer & Exporter

Экспорт данных происходит в JSON формате в файл с расширением .wie, который вы потом можете импортировать в админке. Плюсом есть то, что разработчики предусмотрели правильную реакцию модуля на разные ситуации по типу исключения дублирования для уже существующих виджетов, а также игнорирования тех, которые не поддерживаются сайтом и т.п.

Сам рабочий процесс максимально прост – после активации Widget Importer & Exporter ищите функцию в разделе “Инструменты”.

Widget Importer & Exporter
Тут опять же 2 кнопки – импорт и экспорт. Запутаться нереально. После завершения процесса импорта увидите результат — названия блоков, что были добавлены. Если какой-то уже есть, он будет пропущен.
Widget Importer & Exporter

В целом по этому модулю никаких особых замечаний нет. Скачали его более 300тысяч человек, обновлялся месяца 2 назад, поэтому можно сказать, что решение вполне актуальное. Хотя не исключаю, что есть и другие. Альтернативу первому плагину я все же, наверное, поищу в следующий раз, если тот не обновится.