Как экспортировать и импортировать настройки WooCommerce с помощью кода

Диагностика проблемы: зачем экспортировать и импортировать настройки WooCommerce

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

Чаще всего нужно перенести настройки из разделов WooCommerce → Настройки, включая общие параметры, налоги, платежи и прочее, чтобы быстро восстановить работу магазина без ручного копирования.

Как найти нужные опции WooCommerce для экспорта

Все настройки WooCommerce хранятся в таблице wp_options с префиксами:

  • woocommerce_* — основные настройки;
  • woocommerce_tax_* — налоговые настройки;
  • woocommerce_gateway_* — настройки платежных шлюзов;
  • woocommerce_shipping_* — настройки доставки;
  • woocommerce_checkout_* — настройки оформления заказа;
  • и прочие, связанные с WooCommerce.

Для надежного экспорта лучше получить все опции, начинающиеся на woocommerce_. В PHP это делается вот так:

$options = $wpdb->get_results("SELECT option_name, option_value FROM {$wpdb->options} WHERE option_name LIKE 'woocommerce_%'");

Пошаговое решение: экспорт и импорт настроек WooCommerce с помощью кода

1. Экспорт настроек в JSON-файл

Создайте PHP-скрипт (например, в виде отдельного файла или WP CLI команды), который соберет все опции и сохранит в файл.

global $wpdb;

$options = $wpdb->get_results("SELECT option_name, option_value FROM {$wpdb->options} WHERE option_name LIKE 'woocommerce_%'");

$data = [];
foreach ($options as $option) {
    $data[$option->option_name] = maybe_unserialize($option->option_value);
}

file_put_contents(__DIR__ . '/woocommerce-settings-export.json', json_encode($data, JSON_PRETTY_PRINT));

2. Импорт настроек из JSON-файла

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

$json = file_get_contents(__DIR__ . '/woocommerce-settings-export.json');
$settings = json_decode($json, true);

if (!empty($settings) && is_array($settings)) {
    foreach ($settings as $name => $value) {
        update_option($name, $value);
    }
}

Как проверить, что экспорт и импорт настроек сработали

  • После экспорта в JSON-файле должны быть все опции с ключами, начинающимися на woocommerce_.
  • После импорта зайдите в админку WooCommerce → Настройки, проверьте, что параметры совпадают с исходным сайтом.
  • В базе данных можно выполнить запрос для проверки ключей и значений.
  • Проверьте работоспособность платежей, налогов, доставки — если настройки корректно импортированы, функционал не должен ломаться.

Частые ошибки и как их исправить

  • Ошибка: файл JSON пустой или содержит некорректный JSON. Проверьте права на запись/чтение файла, убедитесь, что json_encode и json_decode не возвращают false.
  • Некорректный сериализованный формат. При сохранении опций WooCommerce используют сериализацию. При экспорте используйте maybe_unserialize, при импорте update_option автоматически сериализует данные.
  • Обновления не применились. Проверьте, что скрипты запускаются с достаточными правами. Если используете WP CLI — запускайте от имени администратора.
  • Не перенеслись настройки платежных шлюзов. Некоторые плагины платежей используют собственные таблицы или опции с другим префиксом — нужно получить их отдельно.

Практические советы по безопасности и производительности

  • Не храните экспортированные JSON-файлы в публичной части сайта — защитите их .htaccess или переместите за пределы root.
  • Перед импортом сделайте резервную копию базы данных.
  • Не запускайте импорт на живом сайте без тестирования — лучше на тестовом окружении.
  • Для больших магазинов с объемными настройками можно разбить экспорт на части, чтобы не превышать лимиты памяти PHP.

Сравнение способов экспорта/импорта настроек WooCommerce

МетодПреимуществаНедостатки
Ручной экспорт из базы (SQL dump)Полный контроль, можно выбрать любые таблицы и данныеСложность, риск ошибок, требует знаний SQL
Экспорт опций через PHP (как в статье)Автоматизация, легко повторять, подходит для настроек WooCommerceНе переносит данные из плагинов сторонних платежей и доставок
Использование плагинов (например, WP All Export)Интерфейс, дополнительные опции, поддержка экспорта товаров и заказовЧасто платные, может быть избыточно для простых настроек
Как безопасно выполнять пользовательский PHP код в WordPress
21.03.2026
WooCommerce: решение проблемы с отключением AJAX при обновлении корзины
07.06.2026
WooCommerce: решение проблемы с неотображением корзины при AJAX-покупках
31.05.2026
Как отключить AJAX в WooCommerce без потери функциональности
21.04.2026
Как удалить неиспользуемые посты и медиа в WordPress: практические советы и примеры кода
15.11.2025