【问题标题】:Make On-hold order status notification working in Woocommerce使暂停订单状态通知在 Woocommerce 中工作
【发布时间】:2019-07-11 19:05:00
【问题描述】:

当我手动将订单状态从processing 设置为on-hold 状态时,我需要发送客户电子邮件通知。我已将以下动作挂钩添加到我的 functions.php 文件中:

add_action( 'woocommerce_order_status_processing_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );

它不工作(不显示在 WP 邮件日志中),即使在 woocommerce 设置中启用了这个特定的电子邮件通知,并且如下所示的类似钩子工作得很好:

add_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );

环境: Woocommerce v.3.5.1 WordPress v.4.9.9 PHP 5.6

任何帮助将不胜感激。

【问题讨论】:

    标签: php wordpress woocommerce orders email-notifications


    【解决方案1】:

    更新了钩子

    您应该尝试以下挂钩函数:

    add_action( 'woocommerce_order_status_processing_to_on-hold', 'enable_processing_to_on_hold_notification', 10, 2 );
    function enable_processing_to_on_hold_notification( $order_id, $order ){
        // Getting all WC_emails array objects
        $mailer = WC()->mailer()->get_emails();
    
        // Send the "On Hold" notification
        $mailer['WC_Email_Customer_On_Hold_Order']->trigger( $order_id );
    }
    

    代码进入您的活动子主题(活动主题)的 function.php 文件中。它应该可以工作。

    【讨论】:

    • 你的意思可能是add_action( 'woocommerce_order_status_processing_to_on-hold', 'send_custom_status_email_notification', 10, 2 ); 当我调整它时,它起作用了!谢谢!请修正您的答案,我会将其标记为正确。
    • 恐怕又是一个小错误:function enable_processing_to_on-hold_notification( $order_id, $order ){ will throw error unexpected "-" in function name;
    • @RWS 已更新……抱歉 ;)
    猜你喜欢
    • 2019-10-06
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 2020-11-03
    • 2017-05-24
    • 2018-09-19
    相关资源
    最近更新 更多