Conserver le statut de la commande Woocommerce en attente
P粉627136450
P粉627136450 2024-03-28 16:34:08
0
1
524

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粉627136450
P粉627136450

répondre à tous(1)
P粉476547076
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');
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal