首页 > 解决方案 > Wordpress Woocommerce 插件邮件触发

问题描述

当状态从处理更改为暂停并且处理更改为失败时,邮件未发送。请告诉我如何实现这一目标。提前致谢

标签: wordpresswoocommerce

解决方案


即使是那种问题(直接询问需求而无需任何研究或任何代码部分)在这里也不受欢迎,我想通过给出基本想法来帮助你。

在文件“ wp-content/plugins/woocommerce/includes/class-wc-emails.php ”中,搜索“ public static function init_transactional_emails() ”并检查“ $email_actions ”数组。

$email_actions = apply_filters(
            'woocommerce_email_actions', array(
                'woocommerce_low_stock',
                'woocommerce_no_stock',
                'woocommerce_product_on_backorder',
                'woocommerce_order_status_pending_to_processing',
                'woocommerce_order_status_pending_to_completed',
                'woocommerce_order_status_processing_to_cancelled',
                'woocommerce_order_status_pending_to_failed',
                'woocommerce_order_status_pending_to_on-hold',
                'woocommerce_order_status_failed_to_processing',
                'woocommerce_order_status_failed_to_completed',
                'woocommerce_order_status_failed_to_on-hold',
                'woocommerce_order_status_on-hold_to_processing',
                'woocommerce_order_status_on-hold_to_cancelled',
                'woocommerce_order_status_on-hold_to_failed',
                'woocommerce_order_status_completed',
                'woocommerce_order_fully_refunded',
                'woocommerce_order_partially_refunded',
                'woocommerce_new_customer_note',
                'woocommerce_created_customer',
            )
        );

由于每次更新 Woocommerce 插件后,您对这些文件所做的任何更改都将消失,因此您需要通过使用挂钩或使用您的子主题覆盖文件来添加您提到的状态更改的电子邮件触发器。

关于您的请求,对于“从处理到搁置”,您需要添加:

'woocommerce_order_status_processing_to_on-hold',

关于从 Woocommerce 的包含文件夹中覆盖文件(或函数),您可以查看这篇文章:从包含文件夹中覆盖 woocommerce 文件

我希望这能帮助你解决它。祝你有美好的一天。


推荐阅读