我正在构建一个插件"购买xxx并获得免费礼物"。
一切正常,但是当我将礼物添加到购物车时,价格为0,但在小计中,我仍然会看到价格与#34;免费产品"价格包括在内。
也就是说,我有价值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
过滤器,因为用户可能想要购买相同的产品,即免费礼品。
设置购物车商品价格的方式是什么,所以它适用于购物车,小计和总计?
答案 0 :(得分:0)
你走在正确的轨道上。
" woocommerce_before_calculate_totals"此操作用于更新购物车商品价格。
请通过调试来检查您的条件。
你想设置" 0"仅适用于"免费物品"或设置" 0"整个购物车?