在 woocommerce 中设置自定义订单状态

setting custom order status in woocommerce

我已关注 this tutorial 并添加自定义订单状态 "Awaiting Shipment":

我的问题是我正在尝试通过 php 函数更新状态,但它仍处于待处理状态!所以它正在执行和更改正确的顺序,但不是这个新状态。

我的代码:

$order = new WC_Order($order_id);
$order->update_status('Awaiting shipment', 'order_note');

我可以在 WordPress 控制面板中设置 'Awaiting Shipment' ok...

我做错了什么?

您需要使用 slug awaiting-shipment 来设置它,因此您的代码将是:

$order = new WC_Order( $order_id );
$order->update_status('awaiting-shipment', 'order_note');

这次可以了……

Also 'order_note' is optional and should be replaced with a real explicit text as an order note should be.

要完成你也可以使用$order = wc_get_order( $order_id );

参考:WC_Order update_status() method

相关主题:

试试下面这个

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' );

}