Woocommerce – Rufen Sie die benutzerdefinierte Funktion auf, nachdem die Zahlung abgeschlossen ist
Lesezeit: 2 Minuten
Ich verwende Woocommerce für ein Projekt und muss die Bestell-ID an eine Remote-Site senden, wenn die Zahlung erfolgt ist. Ich finde nicht den genauen Haken, um dies zu tun. Kann mir jemand helfen, den richtigen Haken zu finden, um bestimmte Aktionen auszuführen, nachdem die Bestellung abgeschlossen ist.
Hier ist, was ich versucht habe
add_action( 'woocommerce_thankyou', 'woo_remote_order' );
function woo_remote_order( $order_id ) {
// Lets grab the order
$order = new WC_Order( $order_id );
//Some action to make sure its working.
wp_mail( '[email protected]',' Woocommmerce Order ID is '.$order_id , 'Woocommerce order' );
}
Nicht sicher, welches der richtige Hook ist, um diese Aktion auszuführen. Ich verwende das Paypal-Zahlungsgateway für die Zahlung und Bestellungen werden erfolgreich durchgeleitet.
Ich würde tatsächlich empfehlen, dies mit PayPal IPN zu tun, anstatt es innerhalb von WooCommerce zu tun. IPN wird ausgelöst, wenn eine Zahlung abgeschlossen, erstattet, in einem ausstehenden Status, aus dem ausstehenden Status gelöscht, ein Streitfall hinterlassen wurde usw. Es umfasst viel mehr als nur die ursprüngliche Bestellung und ist ein sehr nützliches Werkzeug.
– Zeichnete Angell
10. April 2014 um 4:41 Uhr
Lafif Astahdziq
Sieht so aus, als müssten Sie bei den letzten Parametern Accepted_args hinzufügen. Versuchen Sie Folgendes:
add_action( 'woocommerce_thankyou', 'your_func', 10, 1 );
function your_func($order_id) {
$order = new WC_Order( $order_id );
/* Do Something with order ID */
}
Probieren Sie vielleicht eines der folgenden aus.
woocommerce_checkout_order_processed
woocommerce_new_order
add_action( 'woocommerce_subscription_payment_complete', 'YourFunction', 1, 2);
function YourFunction ($order_id)
{
$order = new WC_Order( $order_id );
wp_mail( '[email protected]',' Woocommmerce Order ID is '.$order_id , 'Woocommerce order' );
}
Der add_action-Aufruf muss ganz am Anfang Ihres Plugins platziert werden, wenn Sie WordPress verwenden, oder wenn Sie ein Design verwenden, in der functions.php.
12987800cookie-checkWoocommerce – Rufen Sie die benutzerdefinierte Funktion auf, nachdem die Zahlung abgeschlossen istyes
Ich würde tatsächlich empfehlen, dies mit PayPal IPN zu tun, anstatt es innerhalb von WooCommerce zu tun. IPN wird ausgelöst, wenn eine Zahlung abgeschlossen, erstattet, in einem ausstehenden Status, aus dem ausstehenden Status gelöscht, ein Streitfall hinterlassen wurde usw. Es umfasst viel mehr als nur die ursprüngliche Bestellung und ist ein sehr nützliches Werkzeug.
– Zeichnete Angell
10. April 2014 um 4:41 Uhr