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