2017-04-25 3 views
0

Ich entwickle ein Plugin über Woocommerce. Ich möchte, wenn eine Bestellung abgeschlossen ist einige benutzerdefinierte Felder ausgefüllt werden. Danach möchte ich diese benutzerdefinierten Felder zu der an den Client gesendeten E-Mail hinzufügen. Ich habewoocommerce Anruffunktionen in Reihenfolge

add_action('woocommerce_order_status_completed', 'myplugin_woocommerce_order_status_completed', 10, 1); 

verwendet, um die benutzerdefinierten Felder zu füllen und

add_action('woocommerce_email_order_meta', 'woo_add_tickets_numbers_to_email'); 

diese Felder E-Mail hinzuzufügen.

Mein Problem scheint tha woocommerce_email_order meta gefeuert werden, bevor woocommerce_order_status_completed und die Felder leer sind. Wie kann ich zwingen, zuerst woocomerce_order_status_completed auszuführen und danach eine E-Mail zu senden?

Mit freundlichen Grüßen

Antwort

0

Es gibt einen Weg zur Verfügung "woocomerce_order_status_completed" diese Aktion vor E-Mail versenden rufen.

Sie können mit diesem Code versuchen, diese Funktion zuerst auslösen,

add_action('woocommerce_order_status_completed_notification', array($this, 'trigger'), 10, 2); 

statt,

add_action('woocommerce_order_status_completed', 'myplugin_woocommerce_order_status_completed', 10, 1); 
+0

Hallo Ahmed, nicht ich verstehe genau, wie das zu tun. Soll ich meine Zeile durch Ihren Vorschlag ersetzen? – Kezern

Verwandte Themen