![](/img/trans.png)
[英]WooCommerce: Display product total price in cart/minicart instead of product price
[英]Changing cart product price in Woocommerce
我想實現買 3 送 1 功能,所以我編寫了一個腳本來檢測客戶是否在購物車中有 3 件相同的商品,並自動將另外 1 件相同的商品添加到購物車中。 然后使用另一個鈎子,我將產品的價格覆蓋為 0。
我搜索了解決方案並使用了相同的方法:
這是代碼示例:
function setGiftPriceToZero($cart_object){
foreach($cart_object->cart_contents as $k=>$item):
if(isset($item['variation']['promo']) && ($item['variation']['promo']) == 'buy 3 free 1'):
$item['data']->price = 0;
endif;
endforeach;
}
add_action('woocommerce_before_calculate_totals', 'setGiftPriceToZero');
Woocommerce 計算購物車的小計時,總是加上應該免費的產品的原價。 例如,當我將 3 件 100 美元的商品添加到購物車時,購物車小計最終是 400 美元而不是 300 美元。
I digged deeper into the Woocommerce code and found that in https://docs.woocommerce.com/wc-apidocs/source-class-WC_Cart.html#1139 , $item['data']->get_price()
is used which始終返回商品的原價。
有沒有辦法使用鈎子/api而不是編輯 Woocommerce 核心文件來解決這個問題?
我已找到此錯誤的罪魁禍首。 這是由另一個名為Woocommerce基於角色的價格插件的沖突引起的。 該插件會在購物車總計計算流程結束時覆蓋購物車價格。 這就是為什么get_price()
函數始終返回商品的指定價格的原因。
現在,我只需要編輯插件文件即可使其與我的邏輯完美配合。
我不知道我是否在正確的主題。 但我有一個關於 Wocomerce 的問題
我如何獲得產品的價值並將其分成分期付款。
這可以通過 HTML 或 PHP 實現嗎?
例子。
售價 120.00 美元的產品
我想向我的客戶展示他最多可以購買 6 期免息分期付款。
我希望 woocommerce 有一個帶有這個 function 的插件,通過簡碼。
在產品頁面或產品庫上,我可以報告:
產品價值 = X
或 6 期 X/6。
有人可以幫我寫這樣的代碼嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.