WooCommerceチェックアウトプロセスの別の段階でWooCommerce注文完了メールをトリガーできるようにしたいのですが。そのため、バックエンドからのWooCommerce注文完了メールを無効にし、希望する時点でメールをトリガーするコード行を探しています。少し調べたところ、注文完了メールを削除する方法はわかりましたが、手動でトリガーする方法はわかりませんでした。任意のヒント?
ありがとう!
WooCommerceチェックアウトプロセスの別の段階でWooCommerce注文完了メールをトリガーできるようにしたいのですが。そのため、バックエンドからのWooCommerce注文完了メールを無効にし、希望する時点でメールをトリガーするコード行を探しています。少し調べたところ、注文完了メールを削除する方法はわかりましたが、手動でトリガーする方法はわかりませんでした。任意のヒント?
ありがとう!
回答:
あなたはこれを試すことができます
$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によって提案された同じオブジェクトをループまたは再利用するのではなく。新しいオブジェクトを開始して、トリガーを呼び出すことができます。
$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);