web-dev-qa-db-ja.com

WooCommerce注文完了Eメールをトリガーする方法

WooCommerceのチェックアウトプロセスの別の段階でWooCommerceの注文完了メールを送信できるようにしたいです。だから私はバックエンドからWooCommerceの注文完了の電子メールを無効にし、今私が欲しい時点で電子メールをトリガーするコードの行を探しています。私はちょっとした調査をして、注文完了のEメールを 削除 する方法を見つけましたが、手動でトリガーする方法はわかりませんでした。任意のヒント?

ありがとうございます。

8
user3210369

あなたはこれを試すことができます

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

@Sumitで提案されているのと同じオブジェクトをループしたり再利用するのではなく。新しいオブジェクトを起動してからトリガーを呼び出すことができます。

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