Maison > Questions et réponses > le corps du texte
Je ne veux pas que Woocommerce mette automatiquement à jour le statut de la commande de « En pause » à « Terminé ». J'aimerais qu'il reste "en attente" car nous envoyons des articles de remplacement et attendons que les articles originaux nous soient retournés. Fondamentalement, je souhaite le mettre en attente même après l'expédition de l'article. Y'a-t-il une quelconque façon de réussir cela?
J'ai essayé d'utiliser le code ci-dessous sans succès :
add_action( 'woocommerce_payment_complete', 'cancel_completed_status' ); function cancel_completed_status( $order_id ){ $order = wc_get_order( $order_id ); $items = $order->get_items(); foreach ( $items as $item_id => $item ) { $product_id = $item->get_variation_id() ? $item->get_variation_id() : $item->get_product_id(); if ( $order->has_status( 'on-hold' )) { $order->update_status( 'on-hold' ); $order->save(); } } }
P粉4765470762024-03-29 10:54:28
add_action('woocommerce_order_status_completed', 'completed_to_onhold'); function completed_to_onhold($order_id) { $order = new WC_Order($order_id); $order->update_status('on-hold'); }