Behalten Sie den Woocommerce-Bestellstatus als „Ausstehend' bei
P粉627136450
P粉627136450 2024-03-28 16:34:08
0
1
488

Ich möchte nicht, dass Woocommerce den Bestellstatus automatisch von „Pausiert“ auf „Abgeschlossen“ aktualisiert. Ich möchte, dass der Artikel „in der Warteschleife“ bleibt, da wir Ersatzartikel verschicken und auf die Rücksendung der Originalartikel warten. Grundsätzlich möchte ich es auch nach dem Versand des Artikels auf „in der Warteschleife“ setzen. Gibt es eine Möglichkeit, dies zu erreichen?

Ich habe erfolglos versucht, den folgenden Code zu verwenden:

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

Antworte allen(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');
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!