使暂停订单状态通知在 Woocommerce 中工作

Make On-hold order status notification working in Woocommerce

当我手动将订单状态从 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 PHP5.6

如有任何帮助,我们将不胜感激。

更新了挂钩

您应该尝试使用以下钩子函数:

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 文件。它应该有效。