¿Cómo activar el correo electrónico completo del pedido de WooCommerce?

10

Quiero poder activar el correo electrónico completo del pedido de WooCommerce en una etapa diferente en el proceso de pago de WooCommerce. Así que deshabilité el correo electrónico completo del pedido de WooCommerce desde el backend y ahora estoy buscando una línea de código que active el correo electrónico en el punto que desee. Investigué un poco y descubrí cómo eliminar el correo electrónico completo del pedido, pero no cómo activarlo manualmente. ¿Algun consejo?

¡Gracias!

usuario3210369
fuente

Respuestas:

11

Puedes probar esto

$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails ) ) {
    foreach ( $mails as $mail ) {
        if ( $mail->id == 'customer_completed_order' ) {
           $mail->trigger( $order->id );
        }
     }
}
Sumit
fuente
Gracias. ¿Hay alguna forma de garantizar que alguien no lo abuse, es decir, si lo tiro a un lugar específico en la página de agradecimiento, hay alguna forma de no enviar un correo electrónico cada vez que una persona actualiza la página?
user3210369
WooCommerce se encarga de esto, ya que el complemento solo envía correos electrónicos con ganchos. Pero lo está enviando en la página de agradecimiento, luego debe ocuparse de esto, puede agregar algún valor meta al meta del usuario o almacenar algunas cookies en su navegador. y marque esta respuesta como aceptada como lo hace su trabajo actual.
Sumit
4

En lugar de repetir o reutilizar el mismo objeto sugerido por @Sumit. Puede iniciar un nuevo objeto y luego llamar al disparador.

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