我有一个脚本可以根据我们的 ERP 系统更改订单状态。
除此之外,我们还需要添加客户备注。我找到了这样做的方法:
$order->add_order_note($note);
$order->save();
不幸的是,这在订单编辑屏幕之外不起作用,我试图从我的自定义插件运行它。 ( source )
如果我通过 $order->update_status($status, $note);
这样做,它只会更新状态。
有没有办法在编辑屏幕外添加注释? (包括给客户发电子邮件)
最佳答案
如果注释是给客户的(并且必须对他可见),您需要改用 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 );
关于php - 从 WooCommerce 中的另一个脚本添加客户备注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075194/