从 WooCommerce 中的另一个脚本添加客户备注
Add customer note from another script in WooCommerce
我有一个脚本可以根据我们的 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);
这需要在保存订单数据或更新订单状态之前完成。
到 re-send 给客户的电子邮件通知(如果需要)您可以使用当前订单 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();
我正在构建新的 class 秩序。传递订单 ID 和订单备注,然后再次保存订单。
这就是我们从 ERP 更新网站的方式。但正如 Loic 所说,这种方法会创建一个私人笔记。使用他的
$order->set_customer_note($note);
创建客户备注。
我有一个脚本可以根据我们的 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);
这需要在保存订单数据或更新订单状态之前完成。
到 re-send 给客户的电子邮件通知(如果需要)您可以使用当前订单 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();
我正在构建新的 class 秩序。传递订单 ID 和订单备注,然后再次保存订单。
这就是我们从 ERP 更新网站的方式。但正如 Loic 所说,这种方法会创建一个私人笔记。使用他的
$order->set_customer_note($note);
创建客户备注。