Recevoir une copie des mails envoyés aux clients sous Woocommerce

Il est parfois un peu déroutant de ne pas voir ce que les clients d'une boutique reçoivent comme mails, surtout lors d'un lancement, pour vérifier que tout est ok, corriger et améliorer si besoin.

En effet, Woocommerce sépare bien les deux. Il y a les mails qu'il envoie à l'administrateur, sur lesquels vous pouvez d'ailleurs indiquer plusieurs adresses mails sans souci. Et d'un autre côté, les mails envoyé au client, sur l'adresse qu'il a fournie lors de sa commande.

Là par contre, Woocommerce n'offre pas de possibilité d'ajouter un autre destinataire.

mail-copie-woocommerce

Alors, si vous souhaitez mettre une adresse mail en copie de tous les emails de commande envoyés au client d'une boutique Woocommerce, je vous propose deux méthodes :

Méthode 1 : avec un plugin

Pour ceux qui ne supportent vraiment pas la vue d'une ligne de code, il y a le plugin CC & BCC for Woocommerce Order Emails qui est gratuit et à l'air de très bien faire le job.

Je ne l'ai pas testé concrètement, vous connaissez peur-être déjà mon point de vue sur les plugins : quand un petit code permet de s'en passer, il n'y a pas de raison de s'en priver !

Méthode 2 : avec un copier-coller

Ah, nous en arrivons à la partie que je préfère. Voici un petit bout de code qui reprend le filtre woocommerce_email_headers() pour y injecter notre personnalisation. Dans mon cas, pour tous les mails de commande, insertion d'une adresse mail en copie Cc.


// Envoi d'une copie des mails mail@domaine.com

add_filter( 'woocommerce_email_headers', 'copy_customer_emails_headers_filter_function', 10, 2);
 
function copy_customer_emails_headers_filter_function( $headers, $object ) 
{
    if ($object == 'customer_completed_order' || $object == 'customer_invoice' || $object == 'customer_note' || $object == 'customer_on_hold_order' || $object == 'customer_processing_order' || $object == 'customer_refunded_order') 
    {
        $headers .= "CC: Votrenom <mail@domaine.com>" . "\r\n";
    }
 
    return $headers;
}

Comme d’habitude,  ce code doit être inséré dans le fichier functions.php de votre thème. Sans oublier de remplacer Votrenom par... votre nom, et mail@domaine.com par l'adresse à laquelle vous souhaitez envoyer la copie.

Enfin, si vous ne souhaitez pas que les clients voient que les mails sont en copie, il suffit de remplacer CC par Bcc afin de passer l'envoi en copie cachée.

Poursuivre votre lecture

Laisser un commentaire

Si vous insérez du code, merci d'utiliser les balises [php] en début et [/php] en fin, ou [html] et [/html]...