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. In this article, I’ll show you step-by-step how to disable the WooCommerce shipping method for certain products using the Flexible Shipping PRO plugin.
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:
In this article, I will focus how to disable 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.
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:
In the window that will appear, choose the Flexible Shipping from the dropdown list and confirm with Add shipping method button:
Thereafter, you should have your own Flexible Shipping method in your shipping zone:
Click on its name to configure 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:
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:
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.
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:
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.
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:
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.
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.
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.
In the same way, you can disable shipping method for certain Product Tag, Product Category and Shipping Class. To achieve that, just select different Conditions available in the Flexible Shipping PRO plugin.