php - 在 Woocommerce 3 上的订单中更新并保存订单商品

标签 php wordpress methods woocommerce orders

我正在尝试更改 woocommerce 中订单项的数量、小计和总计,但我的代码似乎除了最终总计之外没有更改任何内容...为什么会这样? (对于我想要更改的任何订单,只有 1 个订单项)

这是我更改订单项详细信息的代码;

$ordernum = 12345; //what I want
$qnty = 30; //or whatever
$subtotal = 10; 
$total = 300; //for show

$order = wc_get_order($ordernum);
foreach( $order->get_items() as $item_id => $item ){
                                $item->set_quantity($qnty);
                                $item->set_subtotal($subtotal); 
                                $item->set_total($total);
                                $item->save();
                }
$order->set_total($total);   
$order->save();

编辑:更改似乎需要永远才能在管理面板上生效...由于这是通过编程完成的,情况会怎样...或者是否已存储?

最佳答案

我不了解 woocommerce,但认为您应该在每次循环运行时对 item 调用 $item->save()

关于php - 在 Woocommerce 3 上的订单中更新并保存订单商品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51956457/

相关文章:

php - 获取2个数字的百分比

wordpress - 隐藏 WooCommerce "My account"订单表中包含特定产品的订单

java - 如何将两个数组放入迭代器中逐步进行?

php - 如何让这个 PHP/MySQL 游戏 map 更加高效?

php - 在 PHP 中接收 UDP 数据包数据报

php - 无法使用 php 实例调用图像

javascript - Uncaught ReferenceError : "method" is not defined

css - 如何在 2 列中拆分 wordpress 页脚的自定义菜单小部件

javascript - Facebook 评论插件消失了

java - 我的程序存在问题,涉及数组列表、缓冲读取器、方法以及对 Java 工作原理的总体遗忘