我试图在WooCommerce中更改订单状态,但到目前为止我没有遇到任何运气。$order示例创建成功(我知道它是因为echo $order->status;工作正常,$order_id也是正确的。$order->status = 'pending';根本不会改变任何东西,我不知道为什么。
echo $order->status;
$order->status = 'pending';
$order = new WC_Order($order_id); $order->status = 'pending';
有人能帮我一下吗?
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
ie3xauqp2#
使用woocommerce v4.4时,其他答案对我不起作用。我必须这样做,
woocommerce v4.4
$order = wc_get_order($order_id); $order->set_status('pending'); $order->save();
**注意:**Woocommerce内部添加了wc前缀,如果您在数据库中查看,您会看到它。我们不需要显式添加它。
wc
qlckcl4x3#
由于Woocommerce版本3.0+更新状态,您需要这样做
$order = wc_get_order( $order_id ); if($order){ $order->update_status( 'pending', '', true ); }
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
4条答案
按热度按时间yptwkmov1#
请尝试以下代码:
ie3xauqp2#
使用
woocommerce v4.4
时,其他答案对我不起作用。我必须这样做,**注意:**Woocommerce内部添加了
wc
前缀,如果您在数据库中查看,您会看到它。我们不需要显式添加它。qlckcl4x3#
由于Woocommerce版本3.0+更新状态,您需要这样做
sigwle7e4#
WooCommerce更改订单状态
以下是可用状态的列表