Перенос заказов WooCommerce
Мне нужно экспортировать/импортировать все заказы WooCommerce со старого сайта клиента на новый. По сути, мы взяли их сайт, полностью переработали дизайн, но установка и все остальное осталось прежним - за исключением того, что теперь есть две версии на разных серверах. Мы пробовали заменить таблицы postmeta и posts, но это полностью все сломало - страницы, меню и т.д.
У нас очень сжатые сроки (каждая минута на счету) и нам срочно нужна помощь в этом вопросе. Мы знаем о существовании плагинов, но если есть "грязный" способ сделать это - мы готовы рассмотреть и его.
Еще раз подчеркну: нам нужно перенести только заказы с одного сайта на другой, не затрагивая все остальное.
Заранее спасибо!

Причиной, по которой копирование нарушило работу вашего сайта, скорее всего, было несоответствие идентификаторов. То есть записи с идентификаторами импортируемых данных уже существуют.
В любом случае, поскольку WooCommerce хранит заказы как пользовательский тип записей, самый безопасный вариант здесь — использовать встроенный инструмент импорта/экспорта записей WordPress.
1. В админке старого сайта выберите Инструменты → Экспорт
2. Выберите "Заказы"
3. Скачайте файл экспорта.
4. В админке нового сайта выберите Инструменты → Импорт
5. Нажмите "WordPress" (установите плагин, если нужно).
6. Выберите/загрузите файл, созданный в шаге 3.
Если по какой-то причине вам нужно сделать это через SQL, начать следует с запроса:
SELECT * from wp_posts WHERE post_type='shop_order'
Затем вам нужно будет экспортировать результат этого запроса и увеличить все идентификаторы на значение автоинкремента в новой таблице. Однако это создаст довольно запутанную таблицу...

Очень полезный совет! Я искал внешний плагин, в то время как эта функциональность уже есть в WordPress. Большое спасибо!

@GentlemanMax Этот метод не импортирует связанные товары. В списке заказов мы видим 0 товаров для импортированных заказов - есть идеи, почему так?

@eFriend, лично я с этим не сталкивался, поэтому не уверен. Полагаю, что связанные товары хранятся в базе данных в отдельной таблице, поэтому они не переносятся. Если бы я делал это, я бы использовал mysql-запрос для получения связанных товаров, а затем второй запрос для их импорта в другую базу данных. Вероятно, для связи таблиц используется post_id, поэтому вам нужно будет сопоставить старые и новые post_id (скорее всего, используя slug).
