如果购物车总数低于5,我将使用以下代码添加运费。
但是,我只希望这适用于不属于“配件”类别的产品。因此,例如,如果用户有4个产品但是来自“附件”类别的1个产品,那么它不应该包括添加来自“附件”猫的产品。
我知道我需要使用运算符来测试是否有任何产品属于'附件'类别,如果是这样,请破坏声明,但我不确定如何在Woocommerce中执行此操作。
有人可以帮我吗?
/**
* Add custom fee on article specifics
* @param WC_Cart $cart
*/
function add_custom_fees( WC_Cart $cart ){
$fees = 0;
// Check if odds and if it's the right item
if( $cart->cart_contents_count < 5){
get_post_meta
$fees += 48;
}
if( $fees != 0 ){
$cart->add_fee( 'Delivery charge', $fees);
}
}
答案 0 :(得分:0)
管理如果有人在将来陷入困境时弄明白
// Hook before adding fees
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');
function add_custom_fees( WC_Cart $cart ) {
$fees = 0;
$total_products = WC()->cart->cart_contents_count;
$total = 0;
foreach( WC()->cart->get_cart() as $item ){
$product = $item['data'];
if( ! has_term( array( 19 ), 'product_cat', $product->id ) ){
$total += $item['quantity'];
}
}
if($total < 5) {
$fees += 48;
}
if( $fees != 0 ){
// You can customize the descriptions here
$cart->add_fee( 'Delivery charge', $fees);
}
}