After long search for a good plugin couldn’t find anything so i created this snippets to help me in this subject
//Show/Hide FLATE RATE Shipping Based on Item Count for Domestic Shipment add_filter('woocommerce_package_rates', 'show_hide_flat_rate_shipping', 10, 2); function show_hide_flat_rate_shipping($available_shipping_methods, $package){ $minimum_number_of_item = 10; //Give here minumum number of items to allow freeshipping $flat_rate = true; global $woocommerce; $item_count = 0; foreach (WC()->cart->cart_contents as $key => $item) { $item_count += $item['quantity']; } if( $item_count >= $minimum_number_of_item ){ //if products is greater or equal to the minumum number in my case 10 $flat_rate = false; } if($flat_rate){ //if flat_rate is true //do nothing show all shipping methods } else{ //if flat_rate is false foreach($available_shipping_methods as $shipping_method => $method){ if( strpos( $shipping_method, 'flat_rate' ) !== false ) { unset($available_shipping_methods[$shipping_method]); } } } return $available_shipping_methods; }