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!

pengguna3210369
sumber

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 );
        }
     }
}
Sumit
sumber
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);
Karthik Thayyil
sumber