首页 文章

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

提问于
浏览
0

我正在 Build 一个插件“购买xxx并获得免费礼物” .

一切正常,但当我将礼物添加到购物车时,价格为0,但在小计中我仍然看到包含“免费产品”价格的价格 .

也就是说,我有 Value 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

    你走在正确的轨道上 .

    “woocommerce_before_calculate_totals”此操作用于更新购物车商品价格 .

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

    是否要仅为“自由项目”设置“0”或将“0”设置为整个购物车?

相关问题