WooCommerce -使用php代码更改订单状态

puruo6ea  于 2023-03-11  发布在  PHP
关注(0)|答案(4)|浏览(189)

我试图在WooCommerce中更改订单状态,但到目前为止我没有遇到任何运气。$order示例创建成功(我知道它是因为echo $order->status;工作正常,$order_id也是正确的。$order->status = 'pending';根本不会改变任何东西,我不知道为什么。

$order = new WC_Order($order_id);
$order->status = 'pending';

有人能帮我一下吗?

yptwkmov

yptwkmov1#

请尝试以下代码:

$order = new WC_Order($order_id);
$order->update_status('pending', 'order_note'); // order note is optional, if you want to  add a note to order
ie3xauqp

ie3xauqp2#

使用woocommerce v4.4时,其他答案对我不起作用。我必须这样做,

$order = wc_get_order($order_id);
$order->set_status('pending');
$order->save();

**注意:**Woocommerce内部添加了wc前缀,如果您在数据库中查看,您会看到它。我们不需要显式添加它。

qlckcl4x

qlckcl4x3#

由于Woocommerce版本3.0+更新状态,您需要这样做

$order = wc_get_order( $order_id );

if($order){
   $order->update_status( 'pending', '', true );
}
sigwle7e

sigwle7e4#

WooCommerce更改订单状态

$order_id = 10;
$orderDetail = new WC_Order( $order_id );
$orderDetail->update_status("wc-completed", 'Completed', TRUE);

以下是可用状态的列表

wc-pending   For Pending payment
wc-processing   For Processing
wc-on-hold   For On hold
wc-completed   For Completed
wc-cancelled   For Cancelled
wc-refunded   For Refunded
wc-failed   For Failed

相关问题