首页 文章

发送客户处理订单电子邮件通知,以获取暂停的Woocommerce订单

提问于
浏览
1

如果客户通过bacs网关下订单,则订单状态为“暂停”,客户将收到随附的邮件通知以及银行详细信息 . 付款完成后,客户会收到另一封电子邮件 - 几乎与之前的内容相同:customer_processing_order

我的目标:

禁用on-hold-orders的邮件(这是后端的默认功能),并发送实际上用于付款订单的电子邮件,如果订单带有(处于暂停状态)状态)同时保持客户处理订单的适当位置 .

换句话说:状态为“暂停”和“处理”的新订单应共享相同的电子邮件模板 .

这有可能实现吗?

到目前为止我的相当差的尝试(基于另一个有用的解决方案):

function unhook_new_order_processing_emails( $email_class ) {
    // Turn off pending to processing for now
    remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_Customer_Processing_Order'], 'trigger' ) );
    // Turn it back on but send the on-hold email
    add_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_Customer_On_Hold_Order'], 'trigger' ) );
}

在此先感谢您的帮助!

1 回答

  • 0

    如果您已禁用客户"on-hold"电子邮件通知,则可以使用以下内容使用 "processing" 电子邮件模板发送有关暂停订单状态的电子邮件通知:

    add_action('woocommerce_order_status_on-hold', 'email_order_processing_status_for_on_hold', 10, 2 );
    function email_order_processing_status_for_on_hold( $order_id, $order ) {
        WC()->mailer()->get_emails()['WC_Email_Customer_Processing_Order']->trigger( $order_id );
    }
    

    代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作

相关问题