我已遵循this tutorial并添加自定义订单状态“等待发货”:
我的问题是我正在尝试通过php函数更新状态,但是在待付款项上会保持不变!因此,它正在执行和更改正确的顺序,但没有此新状态。
我的代码:
$order = new WC_Order($order_id);
$order->update_status('Awaiting shipment', 'order_note');
我可以在WordPress仪表板上确定“等待发货” ...
我在做什么错了?
答案 0 :(得分:1)
您需要使用子弹awaiting-shipment
进行设置,因此您的代码将是:
$order = new WC_Order( $order_id );
$order->update_status('awaiting-shipment', 'order_note');
这次它将起作用……
另外
'order_note'
是可选的,应将其替换为真实的显式文本,如订购单所示。
要完成此操作,您还可以使用$order = wc_get_order( $order_id );
参考:WC_Order update_status() method
相关主题:WooCommerce: Auto complete paid Orders (depending on Payment methods)
答案 1 :(得分:1)
在下面尝试
add_action( 'woocommerce_thankyou', 'my_custom_status_update' );
function my_custom_status_update( $order_id ) {
$order = new WC_Order( $order_id );
$order->update_status( 'awaiting-shipment' );
}