在购物车上添加费用以及属性和数量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在购物车上添加费用以及属性和数量相关的知识,希望对你有一定的参考价值。
我想向Woocommerce添加额外的费用。如果在购物车中我们只有很少的商品具有属性“ consigne”,则仅返回一个product_ID的费用。如何解决问题? (对不起,我的英语不完善:-D)
function woo_add_cart_fee(){
global $woocommerce;
if(is_admin() && !defined('DOING_AJAX'))
return;
//Initialisation of costs
$consigne = 0.5;
//cart
$cart = $woocommerce->cart->get_cart();
foreach($cart as $product)
{
$the_product = get_product($product['product_id']);
//fee - products
$nb_products = $product['quantity'];
$activation_cost += ((float) $the_product->get_attribute('Consigne')) * $nb_products;
}
//intergration fees
if( $activation_cost >= 0 )
{
$woocommerce->cart->add_fee("Consigne", $consigne*$nb_products, true, '');
}
}
add_action('woocommerce_cart_calculate_fees', 'woo_add_cart_fee');
答案
我找到了解决方案:
'函数woo_add_cart_fee(){全球$ woocommerce;
if(is_admin() && !defined('DOING_AJAX'))
return;
//Initialisation des coûts
$consigne = 0.5;
//Parcours du panier
$cart = $woocommerce->cart->get_cart();
foreach($cart as $product)
{
$the_product = get_product($product['product_id']);
//Frais d'activation, un coût par produit
$nb_products1 = $product['quantity'];
$activation_cost += ((float) $the_product->get_attribute('Consigne')) * $nb_products1;
if( $activation_cost >= 0 )
{
$nb_products = $nb_products + $nb_products1 ;
}
}
//Application des coûts calculés
if( $nb_products >= 0 )
{
$woocommerce->cart->add_fee("Consigne", $consigne*$nb_products, true, '');
}
}add_action('woocommerce_cart_calculate_fees','woo_add_cart_fee'); '
以上是关于在购物车上添加费用以及属性和数量的主要内容,如果未能解决你的问题,请参考以下文章