Woocommerce - 为特定类别的产品

时间:2017-09-07 13:44:54

标签: php wordpress woocommerce

如果购物车总数低于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);
    }

}

1 个答案:

答案 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);
    }
}