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.


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


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.