Je construis un site de commerce électronique en utilisant Wordpress et Woocommerce. J'ai besoin que le site envoie une notification par e-mail à l'administrateur du site lorsqu'un nouveau compte client est enregistré. Je pensais que cette fonctionnalité serait intégrée à Woocommerce puisqu'il utilise la structure de compte utilisateur de Wordpress et que Wordpress envoie des notifications aux nouveaux utilisateurs, mais il semble que ce ne soit pas le cas. Quelqu'un connaît-il un plugin ou une fonction que je peux utiliser pour ajouter cette fonctionnalité ? Merci !
Réponses
Trop de publicités?Je suppose que vous utilisez le langage html dans les courriers électroniques. Si vous utilisez du texte brut, la procédure est similaire.
Vous devez remplacer la structure du modèle woocommerce. Vous trouverez ici comment : http://docs.woothemes.com/document/template-structure/ .
En fait, le seul fichier que vous devez remplacer est your_template_directory/woocommerce/emails/customer-new-account.php.
À la fin de ce fichier, ajoutez cette ligne de code :
<?php do_action( 'new_customer_registered', $user_login ); ?>
Dans functions.php, ajoutez ceci :
function new_customer_registered_send_email_admin($user_login) {
ob_start();
do_action('woocommerce_email_header', 'New customer registered');
$email_header = ob_get_clean();
ob_start();
do_action('woocommerce_email_footer');
$email_footer = ob_get_clean();
woocommerce_mail(
get_bloginfo('admin_email'),
get_bloginfo('name').' - New customer registered',
$email_header.'<p>The user '.esc_html( $user_login ).' is registered to the website</p>'.$email_footer
);
}
add_action('new_customer_registered', 'new_customer_registered_send_email_admin');
add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1);
function admin_email_on_registration( $customer_id) {
wp_new_user_notification( $customer_id );
}
woocommerce_created_customer
est un hook qui est appelé lorsque l'utilisateur est créé par woocommerce. Il envoie uniquement une notification au client. Nous utiliserons la fonction wp_new_user_notification() pour envoyer une notification à l'administrateur.
Je m'arrachais les cheveux à essayer de résoudre ce même problème et après avoir fait des allers-retours avec les développeurs, la valeur par défaut est de no envoyer des courriels de notification d'enregistrement de nouveaux clients à l'administrateur.
Après avoir essayé plusieurs plugins de messagerie et même utilisé WP SMTP Email, j'ai finalement décidé de laisser tomber.
Cela dit, WooCommerce 2.0 a été publié aujourd'hui et il est donc possible qu'il soit intégré à la nouvelle version.
Pour notifier l'administrateur lorsqu'un nouvel utilisateur s'est enregistré, utilisez :
add_action( 'woocommerce_created_customer', 'woocommerce_created_customer_admin_notification' );
function woocommerce_created_customer_admin_notification( $customer_id )
{
wp_send_new_user_notifications( $customer_id, 'admin' );
}
Voir la documentation sur https://woocommerce.com/document/notify-admin-new-account-created/