为什么我不能在付款流程之外使用 WooCommerce set_total() 函数?

我目前遇到的问题是在某些情况下需要完全重置订单。为此,我首先退还付款,而不通过该方法创建完整的退款wc_refund_payment()

如果这成功了,我正在尝试重置订单。首先,我要删除所有订单项目:

$order = wc_get_order( xxxx );
$order->remove_order_items();

在此之后,我想将订单总数设置为 0,但从这里开始所有尝试都失败了:

$order->set_total(null);

我仍然可以看到我的订单总数,这真的很奇怪。所以我现在正在寻找一种干净且好的方法来完全重置已完成的付款,以便订单与付款前一样?我唯一想保留的是右侧的通知。

我知道这听起来很奇怪,但这是我的概念的一部分,我没有找到其他方法。


不负相思意
浏览 91回答 2
2回答

青春有我

update_post_meta($order_id,'_order_total', '0.00');测试和工作。

绝地无双

您没有保存更改吗?您需要使用 save() 函数保存订单更改;$order->save();
打开App,查看更多内容
随时随地看视频慕课网APP