web-dev-qa-db-fra.com

WooCommerce Nouveau crochet client d'email?

J'ai créé une page d'inscription pour que les nouveaux clients puissent créer un compte.

Cela fonctionne bien, mais je voudrais me connecter à WooCommerce customer_new_account à l'intérieur de WooCommerce/Classes/Emails/class-wc-emails.php pour envoyer l'e-mail de bienvenue.

Existe-t-il un crochet que je peux utiliser ou quel est le meilleur moyen de le faire?.

Je ne veux pas créer une autre fonction de courrier électronique de bienvenue.

Merci.

Réponse

do_action('woocommerce_created_customer', $user_id, $new_customer_data, false);
1
user742736

Il n'y a pas d'actions/filtres auxquels se connecter. Vous devez remplacer la classe WC_Email_Customer_New_Account standard et implémenter votre propre logique. Pour ce faire, vous devez créer votre propre classe, qui héritera de cette classe et l'enregistrera.

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 );
    }

}

Maintenant, vous devez inscrire cette classe:

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