从 WooCommerce 中的另一个脚本添加客户备注

我有一个脚本可以根据我们的 ERP 系统更改订单状态。

除此之外,我们还需要添加客户备注。我找到了这样做的方法:

$order->add_order_note($note);
$order->save();

不幸的是,这在订单编辑屏幕之外不起作用,我尝试从我的自定义插件中运行它。(来源

如果我通过$order->update_status($status, $note);它这样做只会更新状态。

有没有办法在编辑屏幕外添加注释?(包括给客户发电子邮件)


婷婷同学_
浏览 130回答 2
2回答

万千封印

如果注释是给客户的(并且必须对他可见),您需要使用WC_Order方法(或两者):set_customer_note()$order->set_customer_note($note);// $order->add_order_note($note);$order->save();或者:$order->set_customer_note($note);$order->update_status($status, $note);这需要在保存订单数据或更新订单状态之前完成。要将电子邮件通知重新发送给客户(如果需要),您可以使用当前订单 ID:$emails = WC()->mailer()->get_emails();$emails['WC_Email_Customer_Completed_Order']->trigger( $order_id );// OR: $emails['WC_Email_Customer_Processing_Order']->trigger( $order_id );

偶然的你

//Pass order id from hook or function with $order_id$order = new WC_Order( $order_id );$note = 'Add note here';$order->add_order_note($note);$order->save();我正在构建一个新的秩序。传递订单 ID 和订单备注,然后再次保存订单。这就是我们从 ERP 更新网站的方式。但正如 Loic 所说,这种方法会创建一个私人笔记。用他的$order->set_customer_note($note);创建客户备注。
打开App,查看更多内容
随时随地看视频慕课网APP