Woocommerce Hook nach Auftragserstellung? [geschlossen]

9

Ich suche einen Hook, der ausgelöst wird, nachdem jemand das Checkout-Formular und die Bestellung eingereicht hat (unabhängig davon, ob er die Zahlung geleistet hat oder nicht).

Ich habe es versucht woocommerce_new_order

Aber es funktioniert nicht.

Ifty
quelle
Veröffentlichen Sie Ihren Code, der nicht funktioniert.
montrealistischer
function action_woocommerce_new_order( $order_id ) { update_option('new_order', $order_id ); }; add_action( 'woocommerce_payment_complete', 'action_woocommerce_new_order', 10, 1 );
Ifty
'woocommerce_new_order'Haken ist die Antwort.
Hamid Mohayeji

Antworten:

10

Versuchen Sie woocommerce_thankyouHaken. Dies wird nach erfolgreichem Eingang der Bestellung ausgelöst, unabhängig davon, wie der Benutzer die Zahlung getätigt hat.

$hook_to = 'woocommerce_thankyou';
$what_to_hook = 'wl8OrderPlacedTriggerSomething';
$prioriy = 111;
$num_of_arg = 1;    
add_action($hook_to, $what_to_hook, $prioriy, $num_of_arg);

function wl8OrderPlacedTriggerSomething($order_id){
      //do something...
}

Weitere Informationen finden Sie in woocommerce / templates / checkout / Thankyou.php

WisdmLabs
quelle
3
Hinweis: Dieses Ereignis wird erneut ausgelöst, wenn der Endbenutzer die Dankesseite aus irgendeinem Grund aktualisiert.
Vivek Athalye
2
Gibt es einen Hook, der nur beim Speichern funktioniert?
Benedict_w
Beachten Sie auch, dass dieser Hook nicht ausgelöst wird, wenn ein Benutzer die Dankesseite überspringt
Yair Levy
2

Ich habe die Lösung gefunden. In meiner Bestellliste ist bereits eine alte Bestellung vorhanden. Wenn ich also neue Artikel in der richtigen Reihenfolge hinzufüge, aktualisiert woocommerce nur meine alte unbezahlte Bestellung. Also benutze ich auch woocommerce_resume_orderAction. Jetzt ist es gut.

Ifty
quelle