使保留订单状态通知在Woocommerce中工作

时间:2019-02-18 11:45:12

标签: php wordpress woocommerce orders email-notifications

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

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

即使在woocommerce设置中启用了此特定的电子邮件通知,并且如下所示的类似钩子也可以正常工作,它仍无法正常工作(在WP Mail日志中不显示):

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

更新了钩子

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

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文件中。应该可以。