根据订单注释触发WooCommerce发出的电子邮件



是否可以根据WooCommerce中的附加订单注释触发发出的电子邮件?

我们已经与股票控制系统(Mintsoft)集成在一起,他们基本上通过订单注释将跟踪ID发送回了跟踪ID(所有通过REST API链接)

我设法基于内部文本的文本插入了注释的内容,因为订单对象几乎包含了您想要的所有内容 - 但是,在通常的"完整"邮件中,它的范围不超出范围,意味着模板更改不可能。

我的想法是根据状态禁用自动电子邮件,并尝试自己,是否有钩子?

如果您要查看WC_Order add_order_note()方法代码,则会在其中看到两个可用的挂钩,并且可以使用第一个方便的钩子。

在下面的代码中,您拥有所有参数数据,订单ID,WC_ORDER对象以及发送电子邮件通知的方法:

add_filter( 'woocommerce_new_order_note_data', 'filter_woocommerce_new_order_note_data', 10, 2 );
function filter_woocommerce_new_order_note_data( $args, $args2 ) {
    if( ! $args2['is_customer_note'] ){
        // Get an instance of the WC_Order Object
        $order = wc_get_order( $args2['order_id'] );
        // Getting all WC_emails objects
        $mailer = WC()->mailer()->get_emails();
        // Send the "Completed" notification
        $mailer['WC_Email_Customer_Completed_Order']->trigger( $args2['order_id'] );
    }
    return $args;
}

代码在您的活动子主题(或活动主题)的功能上启用函数。经过测试,它应该起作用。

相关:将商店经理用户名添加到WooCommerce Admin订单注释

相关内容

  • 没有找到相关文章

最新更新