В Woocommerce я должен автоматически установить заказ на статус «завершен», если выбран способ доставки «Ritiro in negozio».
Я попытался поместить следующий код в мой файл functions.php, но после нескольких заказов я заметил, что количество продуктов не масштабируется на складе !! Вероятно, это связано с тем, что уведомления Paypal IPN не получены вовремя.
add_action( 'woocommerce_thankyou', 'express_shipping_update_order_status', 10, 1 );
function express_shipping_update_order_status( $order_id ) {
if ( ! $order_id ) return;
// Get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// Get the WC_Order_Item_Shipping object data
foreach ( $order->get_shipping_methods() as $shipping_item ) {
if ( $shipping_item->get_method_title() == "Ritiro in negozio" ) {
$order->update_status('completed');
break;
}
}
}
У кого-нибудь есть решение, чтобы сначала получать уведомления IPN, дождаться масштабирования количества продуктов заказа, а затем изменить статус заказа на завершенный?
Задача ещё не решена.
Других решений пока нет …