2017-06-19 125 views
0

我正在構建一個插件「爲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過濾器,因爲用戶可能想要購買相同的產品,這是免費贈送的。

設置購物車商品價格的方法是什麼,所以它可以在購物車,小計和總價中使用?

回答

0

你是在正確的軌道上。

「woocommerce_before_calculate_totals」此操作用於更新購物車商品價格。

請檢查您的條件代碼調試。

是否要將「0」設置爲「Free Item」或將「0」設置爲整個購物車?

+0

我正確設置價格afaik,在購物車中有0,但在小計中計算價格...不知道這裏發生了什麼事.. – user1049961

相關問題