WooCommerce - 更改购物车中商品的价格

时间:2017-06-19 16:39:58

标签: wordpress woocommerce add-filter

我正在构建一个插件"购买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过滤器,因为用户可能想要购买相同的产品,即免费礼品。

设置购物车商品价格的方式是什么,所以它适用于购物车,小计和总计?

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。

" woocommerce_before_calculate_totals"此操作用于更新购物车商品价格。

请通过调试来检查您的条件。

你想设置" 0"仅适用于"免费物品"或设置" 0"整个购物车?