Bagaimana cara memicu email lengkap pesanan WooCommerce?


10

Saya ingin dapat memicu email lengkap pesanan WooCommerce pada tahap berbeda dalam proses checkout WooCommerce. Jadi saya telah menonaktifkan pesanan lengkap WooCommerce email dari backend dan sekarang saya sedang mencari garis kode yang akan memicu email pada titik yang saya inginkan. Saya telah melakukan sedikit riset dan saya telah menemukan cara menghapus pesanan lengkap email tetapi tidak bagaimana memicu secara manual. Ada tips?

Terima kasih!

Jawaban:


11

Anda bisa mencoba ini

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

Terima kasih. Adakah cara untuk memastikan seseorang tidak menyalahgunakannya, yaitu jika saya melemparkannya ke tempat tertentu di halaman terima kasih, apakah ada cara untuk tidak mengirim email setiap kali seseorang me-refresh halaman?
user3210369

WooCommerce menangani hal ini karena plugin hanya mengirim email pada kait. Tetapi Anda mengirimkannya pada halaman terima kasih, maka Anda harus mengurus ini, Anda dapat menambahkan beberapa nilai meta ke meta pengguna atau menyimpan beberapa cookie di browsernya. dan harap tandai jawaban ini sebagai diterima karena melakukan pekerjaan Anda saat ini.
Sumit

4

Daripada mengulang atau menggunakan kembali objek yang sama seperti yang disarankan oleh @Sumit. Anda dapat memulai objek baru dan kemudian memanggil pelatuk.

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.