Функция позволяет изменить основную информацию о позиции заказа WooCommerce – название позиции, её тип и то, к какому заказу она прикреплена.
Возвращает true
, если получилось обновить информацию, если не получилось – false
.
wc_update_order_item( $item_id, $args )
get_items()
, подробнее тут.line_item
, что может являться товаром или вариацией товара, но также может принимать значения shipping
(доставка) или fee
(сбор).В качестве примера можем получить все позиции заказа с ID=5 и переприкрепить все эти позиции к заказу с ID=55.
$order = wc_get_order( 5 ); $order_items = $order->get_items( array( 'line_item', 'fee', 'shipping' ) ); if ( ! is_wp_error( $order_items ) ) { foreach( $order_items as $item_id => $order_item ) { wc_update_order_item( $item_id, array( 'order_id' => 55 ) ); } } // также возможно вы захотите пересчитать заказ с ID=55 методом calculate_totals()
В случае, если информация о позиции заказа была успешно обновлена, то срабатывает хук woocommerce_update_order_item
.
add_action( 'woocommerce_update_order_item', 'true_after_order_item_update', 25, 2 ); function true_after_order_item_update( $item_id, $args ) { // делаем что-либо }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.