向客户发送暂停 WooCommerce 订单的订单处理电子邮件通知



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

我的目标:

禁用暂停订单的邮件(这是后端的默认功能(并发送电子邮件,该电子邮件实际上适用于状态为"正在处理"的已付款订单,如果订单具有(保留状态(,同时也保留它用于客户处理订单。

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

这有可能实现吗?

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

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' ) );
}

提前感谢您的帮助!

如果您已禁用买家"暂停"电子邮件通知,则可以使用以下方法使用"正在处理"电子邮件模板发送有关暂停订单状态的电子邮件通知:

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 );
}

代码进入函数.php活动子主题(或活动主题(的文件。经过测试和工作

相关内容

  • 没有找到相关文章

最新更新