【发布时间】:2017-12-16 09:22:34
【问题描述】:
当店主从 WP-Admin 添加新订单时,我需要覆盖所添加商品的数量。目前我将这个值硬编码为 2。
我试过这段代码:
add_filter('woocommerce_ajax_order_item', 'VNA_add_item_quantity', 10, 2);
function VNA_add_item_quantity($item, $item_id) {
$item = $item->get_order()->get_item($item_id, false);
$item->set_quantity(2);
$item->apply_changes();
$item->save();
$item->get_order()->add_item($item);
return $item;
}
但由于某种原因,它没有反映在订单中,并且对于新添加的商品,它继续显示数量=1。我无法弄清楚缺少什么。有人可以帮忙吗?
注意:
-
默认情况下,传递给我们函数的
$item参数是从数据库加载的新对象。所以我正在执行以下代码,以便将来自order->items集合的$item对象用于进一步处理。 (将false作为第二个参数传递给get_item())$item = $item->get_order()->get_item($item_id, false);无论我是否使用这段代码,结果都是一样的。
最后我将
$item对象添加回order只是为了覆盖所有引用。但是没有效果。
【问题讨论】:
标签: wordpress woocommerce hook-woocommerce