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

时间:2018-07-23 11:57:59

标签: php wordpress woocommerce status orders

我已遵循this tutorial并添加自定义订单状态“等待发货”:

我的问题是我正在尝试通过php函数更新状态,但是在待付款项上会保持不变!因此,它正在执行和更改正确的顺序,但没有此新状态。

我的代码:

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

我可以在WordPress仪表板上确定“等待发货” ...

我在做什么错了?

2 个答案:

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

}