WooCommerce siparişi tam e-postasını nasıl tetikleyebilirim?


10

WooCommerce ödeme işleminde farklı bir aşamada WooCommerce sipariş tam e-postasını tetiklemek istiyorum. Bu yüzden WooCommerce siparişini arka uçtan tam e-postayla devre dışı bıraktım ve şimdi istediğim noktada e-postayı tetikleyecek bir kod satırı arıyorum. Biraz araştırma yaptım ve siparişin tam e-postasını nasıl kaldıracağımı öğrendim , ancak manuel olarak nasıl tetikleyeceğimi değil. Herhangi bir ipucu?

Teşekkürler!

Yanıtlar:


11

Bunu deneyebilirsin

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

Teşekkür ederim. Birinin onu kötüye kullanmadığından emin olmanın herhangi bir yolu, yani bunu teşekkür sayfasında belirli bir yere atarsam, bir kişi sayfayı her yenilediğinde e-posta göndermemek için yine de var mı?
user3210369

WooCommerce bu şeyle ilgileniyor, eklenti sadece kancalara e-posta gönderiyor. Ancak teşekkür sayfasında gönderiyorsunuz, bununla ilgilenmeniz gerekiyor, kullanıcı metasına bir miktar meta değer ekleyebilir veya tarayıcısında bazı çerezleri saklayabilirsiniz. ve lütfen bu cevabı geçerli işinizi yaptığı gibi kabul edilmiş olarak işaretleyin.
Sumit

4

@Sumit tarafından önerilenle aynı nesneyi döngüye almak veya yeniden kullanmak yerine. Yeni bir nesne başlatabilir ve sonra tetikleyiciyi çağırabilirsiniz.

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.