为挂起状态的Woocommerce订单发送客户处理订单电子邮件通知。

3
如果客户通过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' ) );
}

Thanks in advance for your help!

1个回答

2

如果您已禁用了客户“挂起”电子邮件通知,则可以使用以下内容使用“处理”电子邮件模板发送挂起订单状态的电子邮件通知:

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文件中。已测试并可用。


非常感谢您!这正是我所需要的!您已经拯救了我的网店! - Andreas Pedersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接