webentwicklung-frage-antwort-db.com.de

WooCommerce E-Mail-Hook für Neukunden?

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);
1
user742736

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;
}
3
Eugene Manuilov