我目前正在建立一個woocommerce商店。基本上這是我想要實現的。woocomerce根據一個商品的數量計算最終價格
「這是一個水果店,他們想要購買水果籃(包裝),顧客選擇他想要的水果(例如3件),然後他/她選擇所需數量的籃子(3箇中的1個。在網站不同的籃子)
總成本必須計算如下:{總和(水果+果b +水果C +籃價)*(選擇筐的量)
例如:蘋果價格3美元,香蕉價格3美元,選定籃子價格1美元,籃子數量爲200.總成本=(3 + 3 + 1)* 200。
所以這只是一個例子, d喜歡設置定價。
任何想法怎麼可以實現,我嘗試了woocommerce推薦的多個插件,但他們沒有做我正在尋找的東西。
你的幫助是極大的讚賞...
我寫了下面的代碼(在此代碼籃產品編號爲24)。 但問題是,當我爲例如:籃子10設置。在購物車頁面的購物籃頁面末尾的總成本恰好在購物籃行的末尾,將如下所示:購物籃數量*購物籃成本爲1美元,因此這裏是10美元。
而總價格是(3美元的巴巴達+ 3美元的蘋果+ 10美元的籃子)*籃子的數量。
正確的計算是(3 + 3 + 1)* 10。
add_action('woocommerce_calculate_totals', 'action_cart_calculate_totals', 10, 1);
function action_cart_calculate_totals($cart_object) {
$targeted_id = 24;
foreach (WC()->cart->get_cart() as $cart_item) {
if($cart_item['product_id'] == $targeted_id){
$qty = $cart_item['quantity'];
break; // stop the loop if product is found
}
}
if (is_admin() && ! defined('DOING_AJAX'))
return;
if (!WC()->cart->is_empty()):
$cart_object->subtotal *= $qty;
$cart_object->total *= $qty;
$cart_object->cart_contents_total *= $qty;
endif;
}
我試過了,但沒有一個可以工作 –
@AmirAsgari:怎麼把乘法因子分配到總和中呢? (3 + 3 + 1)×10 = 0.3 + 0.3 + 0.1。只需將'basket price * k'作爲一個新項目並將現有項目修改爲'x * k'即可。 – Xaqron
我沒有得到這個請你詳細說明一下嗎? @Xaqron –