🔥 BLACK FRIDAY DEAL: -20% on all plugin bundles! Don’t hesitate – offer ends 30.11 ⏰  BUY NOW →

Newsletter signup

Subscribe to our newsletter

How to Disable WooCommerce Shipping Method for Certain Products

How to Disable WooCommerce Shipping Method for Certain Products
Updated:
2025-11-09
Reading time:
8 minutes read

In this guide, you’ll learn exactly how to disable a WooCommerce shipping method for certain products using Flexible Shipping PRO. Disabling shipping methods for specific products is a useful option for many online stores that sell a diverse assortment. Unfortunately, WooCommerce itself does not offer this option. So in this situation, it is worth reaching for an additional plugin. 

Why WooCommerce Can’t Disable Shipping Methods Per Product

WooCommerce gives you a simple and flexible way to set up shipping, but its core system is built around shipping zones and shipping methods, not product-level rules. Each method you configure applies to the whole zone, and WooCommerce doesn’t include a mechanism that checks what products are currently in the cart before showing or hiding a method.

WooCommerce’s shipping architecture was designed around zones, not product-level logic

WooCommerce’s core shipping engine is built on three pillars:

  • Shipping Zones
  • Shipping Methods
  • Shipping Classes

Nowhere in this architecture does WooCommerce include a product-specific rules engine. This is by design – the platform historically prioritized simplicity for small stores.

Modern stores rely on complex shipping rules – and WooCommerce’s defaults fall short

BuiltWith’s data shows that over one million WooCommerce stores operate with more than 50 products, which clearly illustrates how common larger and more complex product catalogs have become. When stores reach this scale, their shipping needs naturally become more diverse – and simple zone-based rules are no longer enough.

This limitation becomes visible especially when you need to hide or disable specific WooCommerce shipping methods based on product, category, tag or shipping class. Some products may require different carriers, special packaging, or may simply not qualify for certain methods like Local Pickup or Free Shipping. Without product-based conditions, WooCommerce will still display all methods assigned to the zone, even if they’re not appropriate for the item.

Because of this, most stores that need more advanced logic rely on plugins. Tools like Flexible Shipping PRO add the missing conditional layer and allow you to hide or disable shipping methods based on the exact products, categories, tags or shipping classes in the customer’s cart. In practice, this means that WooCommerce provides the basics, but as soon as you need more control over when a method should be visible, you need to use an additional plugin.

Use Flexible Shipping PRO to Hide or Modify WooCommerce Shipping Methods

The Flexible Shipping PRO plugin is one of the most powerful shipping tools for WooCommerce. Its basic functionality is to set the shipping cost based on numerous conditions, but the plugin will also work great for hiding shipping methods on the cart page. All available conditions for pricing, are also conditions for hiding methods. It allows you to hide shipping methods based on various conditions like:

  • Products (Single Product, Product Category, Product Tag and Shipping Class)
  • Cart or Package Weight
  • Cart or Package Value
  • Day of the Week and Time of the Day
  • Product dimensions
  • User Role

In this article, I will focus on how to disable a WooCommerce shipping method for certain products. If you want to read about other conditions, take a look at our guide about hiding shipping methods in WooCommerce.

Flexible Shipping PRO WooCommerce
99.00

The best Table Rate Shipping for WooCommerce. Period. Create shipping rules based on weight, order totals or item count.

View Details or Add to cart
100,000+ Active Installations
30-day money back guarantee
Last Updated: 2025-11-25
Works with WooCommerce 10.0 - 10.4.x

Step-by-Step: Disable Shipping Method for Specific Products

I will show you how to hide shipping methods for specific products in WooCommerce in a few simple steps. Here they are:

  • Step 1. Add Flexible Shipping method
  • Step 2. Configure the Flexible Shipping method
  • Step 3. Select Products to Hide a Shipping Method
  • Step 4. Hide Shipping Method Based on Selected Products

It’s very simple, so let’s get on with it!

Step 1. Add Flexible Shipping method

Having the Flexible Shipping PRO plugin installed and activated, go to WooCommerce → Settings → Shipping → Shipping Zones, and choose the Shipping Zone where you want to disable shipping method for certain products. Then, click the Add shipping method button. You’ll find it at the bottom of the shipping methods table:

WooCommerce add shipping method

In the window that will appear, choose the Flexible Shipping from the dropdown list and confirm with Add shipping method button:

add flexible shipping method

Thereafter, you should have your own Flexible Shipping method in your shipping zone:

new flexible shipping method

Click on its name to configure shipping method.

Step 2. Configure the Flexible Shipping method

In the configuration page, you can enter Method Title, Method Description and use all features of the Flexible Shipping plugin. The most important element, however, is the Shipping Cost Calculation Rules table. You’ll find it on the bottom of the configuration page:

Shipping Cost Calculation Rules table

There, you can set the cost for your shipping method. You can use different conditions to determine shipping cost, but if you want to set flat rate, just use Always. For example, if you intend to charge $10 for shipping, set it like that:

basic shipping method configuration

Step 3. Select Products to Hide a Shipping Method in WooCommerce

Let’s get back to the purpose of this setup, which is disabling WooCommerce shipping method for certain products. To achieve that, all you have to do is to add a new rule with Add rule button and select the proper condition.

flexible shipping PRO conditions

As you can see, you can choose from multiple conditions available in the Flexible Shipping PRO plugin. When it comes to conditions based on products, you have four options:

  • Single Product
  • Product tag
  • Product category
  • Shipping class

For each of them, the implementation method is the same. As an example, I will use a single product feature. To hide WooCommerce shipping method for certain product, select Product from the conditions list. Then a product selection box will appear in the table. It contains all the products created in your store. To add them, enter their name and select a specific product from the list.

select products that will diable shipping method in WooCommerce

You can add multiple products to that list, but in this case, you should use the proper conditional logic operator. You’ll find it just before the product selection field:

FS conditional logic operators

You can use any to hide shipping method if one of the chosen products will appear in the client’s cart. The other option is to use all to hide the shipping method only when all the selected products will appear in the client’s cart at the same time.

Step 4. Hide Shipping Method Based on Selected Products

Having all the products selected, you can use the most important option in the Shipping Cost Calculation Rules table. Change the Special action to Hide.

Disable WooCommerce Shipping Method for Certain Products

This setting will cause that when the selected product appears in the customer’s shopping cart, this shipping method will stop displaying in the cart and on the order page. Remember to Save changes, and that’s it.

The process is identical for:

  • Product Category
  • Product Tag
  • Shipping Class

Simply choose a different condition when adding your rule.

This is useful when you want to:

  • disable “small parcel” for oversized items (shipping class),
  • block “free shipping” for premium categories,
  • hide “local pickup” for products that can’t be collected in person,
  • restrict certain methods to specific tags such as “fragile” or “express”.

Product-Based Conditions in Flexible Shipping PRO

If you are unsure which condition to use, below you will find a table describing each of the Product-Based Conditions available in the Flexible Shipping PRO plugin.

Condition Type What It Does Example
Single Product Targets one or multiple specific products Hide courier shipping for a fragile item
Product Category Applies the rule to all products within the selected category Disable free shipping for premium categories
Product Tag Allows grouping products based on tags for shipping logic Hide express shipping for items tagged as “Fragile”
Shipping Class Uses logistics-based grouping to apply visibility rules Hide small parcel options for oversize shipping classes

 

Disable WooCommerce Shipping Method for Certain Products – Video Guide

Need more insights on how the special action mechanism works? Watch the video below:

Use Cases

Disabling shipping methods for specific products is useful in many real-world situations, especially in stores with a diverse assortment. Below are the most common scenarios where product-based shipping rules solve practical problems and help maintain a clean, predictable checkout experience.

Oversized or heavy products

Some items cannot be shipped with regular carriers or using flat-rate methods.
Example:
  • A large piece of furniture should not display “Small Parcel” or “Letter Shipping”.
  • Gym equipment that exceeds courier limits must hide all standard methods and show only freight options.

Fragile products requiring special handling

Products that need extra care shouldn’t be shipped with the cheapest or fastest method available.
Example:
  • Handmade ceramics should hide “Free Shipping” or “Economy Shipping”.
  • Glassware may only be eligible for insured courier shipping.

Products fulfilled from different locations

If a store ships part of its inventory from another warehouse or a drop-shipping partner, some shipping methods simply don’t apply.

Example:
  • Local Pickup should be hidden for items stored off-site.
  • Express delivery may not be available for products handled by an external supplier.

Premium or restricted product lines

Some items shouldn’t qualify for promotions like free shipping.
Example:
  • High-margin premium products excluded from “Free Shipping over $50”.
  • Items with legal restrictions (e.g., age-restricted categories) that must use a verified courier.

Product bundles or kits

Kits that combine several items may require different packaging or fulfillment rules. For example a camping bundle that contains oversized poles cannot be shipped with “Small Parcel”, even if some items normally would be.
Some products simply cannot be shipped using particular methods due to regulations.
Example:
  • Aerosols or chemicals that require ground shipping only.
  • Items that cannot be shipped internationally.

Summary

Controlling which shipping methods appear for specific products is essential for any store that sells items with different sizes, handling requirements or fulfillment rules. Since WooCommerce doesn’t offer product-based visibility out of the box, using a plugin like Flexible Shipping PRO is the most reliable and efficient way to build clear, predictable shipping logic.

Once you start working with product-based conditions, managing complex catalogs becomes much easier – and your customers benefit from a smoother, more intuitive shopping experience. If you want to take your WooCommerce shipping to the next level, adding conditional rules is one of the simplest and most effective improvements you can make.

FAQ

How can I hide a WooCommerce shipping method for a specific product?

You can hide a shipping method for a specific product by creating a conditional rule in Flexible Shipping PRO and setting the “Special action” to Hide. This tells the plugin to hide the method from the cart and checkout whenever the selected product is present. It’s a clean and reliable way to control visibility without writing custom code or modifying theme files.

Can I disable shipping methods based on product category?

Yes, Flexible Shipping PRO supports category-based conditions, allowing you to apply rules to entire groups of products at once. This is useful when you sell items that share similar size or fulfillment requirements. Instead of configuring each product individually, you can manage all category-level rules from a single interface.

Does this method work on both the cart and checkout pages?

The “Hide” action affects the shipping method globally, so it disappears from both the cart and the checkout. This ensures a consistent user experience and avoids confusion caused by showing different options on each step. The logic is evaluated dynamically, so changes take effect immediately based on what’s in the customer’s cart.

Can I combine multiple product conditions in one rule?

Yes, you can combine conditions and use the logic operator ANY or ALL depending on how strict you want the rule to be. This is helpful when your store sells bundles or kits that require different handling options depending on product combinations. It allows you to build very precise rules without adding unnecessary complexity to your shipping setup.

Can I hide Local Pickup for products that are not available in-store?

Absolutely – this is one of the most common reasons stores use product-based visibility rules. If an item is shipped from a different warehouse or fulfilled externally, you can hide Local Pickup to avoid customer confusion. This helps make sure customers only see shipping methods that realistically apply to their order.

Can I disable Free Shipping only for specific items?

Yes, you can apply rules specifically to the Free Shipping method and hide it when the cart contains certain products. This is particularly useful for premium or oversized products that should never qualify for promotional shipping. It ensures customers always see the correct costs based on the products they’re buying.

Does this solution work with mixed carts (multiple products in one order)?

Flexible Shipping PRO evaluates all products in the cart and applies your rules accordingly. If even one item triggers the condition, the affected method will be hidden (unless you use the ALL operator). This makes the system predictable and prevents customers from selecting unsuitable shipping methods in mixed orders.

Content Writer at Octolize

Bartosz Gajewski is a content and marketing specialist with a solid background in SEO, WordPress content strategy, and technical documentation for digital products. With years of hands-on experience in both in-house and freelance roles, he supports tech companies – especially in the SaaS and e-commerce space – by creating content that informs, engages, and drives results.

His approach blends storytelling with data-driven SEO, and he’s been involved in projects ranging from rebranding and product marketing to growth experiments and copywriting for complex software tools. On the blog, he shares actionable insights from his work across marketing teams, product documentation, and online store optimization.

Comments
Subscribe
Notify of
guest
4 Comments
Inline Feedbacks
View all comments
Anjan Phukan
Anjan Phukan
3 years ago

Hi,
Is it possible to add a percentage rule cost? For example. 20% of the total fee.

Karolina Burnagiel
Karolina Burnagiel
Reply to  Anjan Phukan
3 years ago

Hi Anjan, there is a way how you can add the percentage to the total cost. Please see this screenshot with the rule – https://imgur.com/MqojpfG. This rule will add 20% extra charge based on the total fee. You can find in our documentation an article about it – https://octolize.com/docs/article/flexible-shipping-pro-shipping-cost-as-a-percentage-of-orders-value/.

Last edited 1 year ago by Grzegorz Turbasa
tom
tom
5 months ago

This is really helpful. I am just wondering if there is a way to hide the shipping method if more than one category of products are in the basket – so that the shipping method is just for one product category only. It seems we would need to manually specify each other product category rather than just saying “not X category”

Mateusz Kot
Mateusz Kot
Admin
Reply to  tom
5 months ago

Hi Tom,
Yes, it is possible to hide the shipping method when there are more product categories. Indeed, you would need to specify manually each product category – see here: https://monosnap.com/file/ATFP3YHeMxyZAkOBpztUtWQHFdGt4K

Optionally, you could create a shipping method with a rule corresponding to only one product category, see here:
https://monosnap.com/file/QU0bmJfq6wxWDBvcShrER32BvuE5Ez

In this case, if there will be a product category other than specified in the rules, the shipping method won’t be used.

Kind regards,
Mateusz