Ich habe eine Anmeldeseite für neue Kunden erstellt, um ein Konto zu erstellen.
Dies funktioniert einwandfrei, aber ich möchte mich in WooCommerce customer_new_account
inside WooCommerce/Classes/Emails/class-wc-emails.php
einbinden, um die Begrüßungs-E-Mail zu senden.
Gibt es einen vorhandenen Haken, den ich verwenden kann, oder was ist der beste Weg, dies zu tun.
Ich möchte keine weitere Willkommens-E-Mail-Funktion erstellen.
Vielen Dank.
Antworten
do_action('woocommerce_created_customer', $user_id, $new_customer_data, false);
Es gibt keine Aktionen/Filter, mit denen Sie sich verbinden können. Sie müssen die Standardklasse WC_Email_Customer_New_Account
überschreiben und Ihre eigene Logik implementieren. Dazu müssen Sie eine eigene Klasse erstellen, die diese Klasse erbt und registriert.
class WPSE8170_Email_Customer_New_Account extends WC_Email_Customer_New_Account {
function trigger( $user_id, $user_pass = '', $password_generated = false ) {
// do what you need here and then call parent method
parent::trigger( $user_id, $user_pass, $password_generated );
}
}
Jetzt musst du diese Klasse registrieren:
add_filter( 'woocommerce_email_classes', 'wpse8170_update_email_classes' );
function wpse8170_update_email_classes( $emails ) {
$emails['WC_Email_Customer_New_Account'] = new WPSE8170_Email_Customer_New_Account();
return $emails;
}