จะทริกเกอร์สั่งซื้อ WooCommerce ทางอีเมลได้อย่างไร


10

ฉันต้องการเปิดใช้งานการสั่งซื้ออีเมลของ WooCommerce ในขั้นตอนที่แตกต่างกันในกระบวนการชำระเงินของ WooCommerce ดังนั้นฉันจึงปิดการใช้งานการสั่งซื้อ WooCommerce อีเมลที่สมบูรณ์จากแบ็กเอนด์และตอนนี้ฉันกำลังมองหาบรรทัดของรหัสที่จะเรียกอีเมลในจุดที่ฉันต้องการ ฉันได้ทำการค้นคว้านิดหน่อยแล้วและฉันก็พบวิธีที่จะลบคำสั่งซื้ออีเมลที่สมบูรณ์ แต่ไม่ใช่วิธีการทริกเกอร์มันด้วยตนเอง เคล็ดลับใด ๆ

ขอบคุณ!

คำตอบ:


11

คุณสามารถลองสิ่งนี้

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

ขอบคุณ. มีวิธีใดที่จะทำให้แน่ใจได้ว่ามีใครบางคนไม่ใช้วิธีการที่ไม่เหมาะสมเช่นถ้าฉันโยนสิ่งนั้นลงในสถานที่ที่ระบุในหน้าขอบคุณคุณมีวิธีที่จะไม่ส่งอีเมลทุกครั้งที่มีคนรีเฟรชหน้าเว็บหรือไม่
user3210369

WooCommerce ดูแลสิ่งนี้เนื่องจากปลั๊กอินส่งอีเมลไปที่ hooks เท่านั้น แต่คุณกำลังส่งไปที่หน้าขอบคุณแล้วคุณต้องดูแลสิ่งนี้คุณสามารถเพิ่มค่าเมตาให้กับผู้ใช้เมตาหรือเก็บคุกกี้บางอย่างในเบราว์เซอร์ของเขา / เธอ และโปรดทำเครื่องหมายคำตอบนี้เป็นที่ยอมรับเช่นเดียวกับงานปัจจุบันของคุณ
สุมิตร

4

แทนที่จะวนลูปหรือนำวัตถุเดียวกันกลับมาใช้ใหม่ตามที่แนะนำโดย @Sumit คุณสามารถเริ่มต้นวัตถุใหม่แล้วเรียกทริกเกอร์

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.