WooCommerce - 更改购物车中物品的价格
问题描述:
我正在构建一个插件“为xxx购买并获得免费礼物”。WooCommerce - 更改购物车中物品的价格
一切工作正常,但是当我将礼物添加到购物车时,价格为0,但在小计中,我仍然看到包含“免费产品”价格的价格。
即,我有物品价值200美元,我有资格获得免费礼物。我挑选它并将礼物添加到购物车中。价格为0.但在小计中,我仍然看到物品+免费礼物的价格。
我把价格定在before_calculate_totals
钩这样的:
foreach ($cart as $key => $item) {
if (isset($item['_wfg_gift']) && $item['_wfg_gift'] == 1) {
$item['data']->set_price(0);
}
}
我也试过calculate_totals
钩,没有运气。我无法使用get_price
过滤器,因为用户可能想要购买相同的产品,这是免费赠送的。
设置购物车商品价格的方法是什么,所以它可以在购物车,小计和总价中使用?
答
你是在正确的轨道上。
“woocommerce_before_calculate_totals”此操作用于更新购物车商品价格。
请检查您的条件代码调试。
是否要将“0”设置为“Free Item”或将“0”设置为整个购物车?
我正确设置价格afaik,在购物车中有0,但在小计中计算价格...不知道这里发生了什么事.. – user1049961