我目前正在开设一家 woocommerce 商店。基本上这就是我想要实现的。
“这是一家水果店,他们想要篮子里的水果(包装),客户选择他想要的水果(例如 3 件),然后他/她选择所需数量的篮子(站点中 3 个不同篮子中的 1 个) )。
总成本必须这样计算:{sum(fruit a+fruit b+fruit c+basket price)*(所选篮子的数量)。
例如:苹果价格 3 美元,香蕉价格 3 美元,选择篮子价格 1 美元,篮子数量为:200。总成本=(3+3+1)*200。
所以这只是一个例子,因为我想设置定价。
知道如何实现这一点,我尝试了 woocommerce 推荐的多个插件,但没有一个能满足我的要求。
非常感谢您的帮助...
我为(在此代码篮中产品 ID 为 24)编写以下代码。但问题是当我设置为 ex: 10 时。购物车页面中篮子行末尾的总成本正好在篮子行的末尾,如下所示:篮子数量* 篮子成本为 1 美元,所以这里是 10 美元。
总价格为(bababa 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;
}