• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Создать копию существующего ордера (заказа)

ankvgm

Новичок
Доброе время суток!
Подскажите, плиз, как можно создать полную копию существующего заказа? Я создал заказ, но он пустой, т.е. без продуктов. Как именно с продуктами сделать?
Заранее спасибо!
 

marr

Специалист
Местный
Подскажите, плиз, как можно создать полную копию существующего заказа? Я создал заказ, но он пустой, т.е. без продуктов. Как именно с продуктами сделать?
Напишите, как создали. Возможно вам нужно использовать wc_get_order_item_meta() и wc_update_order_item_meta() для передачи мета-данных, если вы делаете как-то по-другому.
А вообще есть готовое расширение: Clone Orders
 

ankvgm

Новичок
Напишите, как создали. Возможно вам нужно использовать wc_get_order_item_meta() и wc_update_order_item_meta() для передачи мета-данных, если вы делаете как-то по-другому.
А вообще есть готовое расширение: Clone Orders
Создаю собственно так:
$original_id = 22251;
$order = wc_get_order( $original_id );
$data = $order->get_data();
$original_billing = $data['billing'];
$original_shipping = $data['shipping'];

$original_args = array(
'status' => 'completed',
'parent' => 22251,
'cart_hash' => '898571bbc9b3298ed31829e199641fdb',
);
$sub_order = wc_create_order($original_args);
$sub_order->set_address( $original_billing, 'billing' );
$sub_order->set_address( $original_shipping, 'shipping' );

А вот как еще и продукты из ордера 22251 перетащить в новый?
 
Сверху Снизу