我需要在结帐页面上的 woocommerce 订单中或在 woocommerce 创建订单时更新订单项元数据。我正在使用插件可视化产品配置器,它没有将订单中某些项目的正确数量传递给 woocommerce 订单元,尤其是当我在同一产品上使用多个变体时。
是否有一个钩子可供我用来更新某个订单商品的商品数量,我该如何使用它?该插件返回给我一个包含所有购物车信息的数组,我只能检查订单中的某个商品是否多次出现 - 如果是,我需要将该商品的数量更改为 woocommerce 订单/数据库中的那个数字。
我正在考虑将以下钩子添加到我的functions.php
add_action('woocommerce_checkout_create_order', 'change_qty', 1,1);
function change_qty($item_qty){
foreach($item_qty as $qty) {
$qty['product_id'] = $id;
$qty['qty'] = $new_qty
$order->update_meta_data('quantity', $new_qty, $id)
}
}
而 $item_qty 是一个包含 item_ids 和调整数量的多维数组。
我面临的另一个问题是我不知道何时需要调用该函数,因为我从结帐页面上的插件中获取了数组,但我认为 WooCommerce 那时还没有创建订单?
结果应该是后端 woocommerce 订单摘要中调整后的商品数量。