web-dev-qa-db-fra.com

Comment déclencher un e-mail complet pour une commande WooCommerce?

Je souhaite être en mesure de déclencher le courrier électronique complet d'une commande WooCommerce à une étape différente du processus de paiement WooCommerce. J'ai donc désactivé le courrier électronique complet de la commande WooCommerce à partir du backend et je recherche maintenant une ligne de code qui déclenchera le courrier électronique au moment voulu. J'ai fait quelques recherches et j'ai trouvé comment supprimer la commande complète du courrier électronique, mais pas comment le déclencher manuellement. Des conseils?

Merci!

8
user3210369

Tu peux essayer ça

$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails ) ) {
    foreach ( $mails as $mail ) {
        if ( $mail->id == 'customer_completed_order' ) {
           $mail->trigger( $order->id );
        }
     }
}
9
Sumit

Plutôt que de boucler ou de réutiliser le même objet comme suggéré par @Sumit. Vous pouvez initier un nouvel objet puis appeler le déclencheur.

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
2
Karthik Thayyil