我有一个脚本,可以根据我们的ERP系统更改订单状态。
除此之外,我们还需要添加客户备注。我找到了方法:
$order->add_order_note($note);
$order->save();
不幸的是,这在订单编辑屏幕之外不起作用,我尝试从我的自定义插件运行它。(来源(
如果我通过$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 );
//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);
以创建客户备注。