当我将订单状态从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
任何帮助将不胜感激。
答案 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文件中。应该可以。