When running an online store with WooCommerce, offering the right shipping options at the right time is essential. If customers see confusing or irrelevant shipping choices—like free shipping and flat rate shipping at the same time—they may hesitate or abandon their cart. That’s why many WooCommerce store owners choose to hide shipping methods based on certain conditions to create a cleaner, more logical checkout experience.
In this blog post, we’ll explore how to hide shipping methods in WooCommerce depending on various criteria like cart contents, order subtotal, shipping class, user role, product category, postal code, and more. Whether you want to simplify the checkout process or ensure only eligible customers see specific shipping options, this guide will help you configure your shipping logic the smart way.
Why Hide Shipping Methods in WooCommerce?
By default, WooCommerce displays all applicable shipping methods based on the shipping zones you’ve set up. But this often leads to multiple methods appearing simultaneously, confusing your customers or enabling them to select a less optimal method (e.g., choosing free shipping when it shouldn’t apply). Hiding certain shipping methods based on predefined rules provides several benefits:
1. Simplify the Checkout Process
Eliminate clutter by only showing relevant shipping methods for each order scenario.
2. Reduce Errors and Customer Complaints
Avoid cases where customers select incorrect or unsupported shipping options.
3. Increase Profit Margins
Prevent customers from using free shipping when they haven’t met the minimum requirement.
4. Offer Location-Based Shipping Rules
Display shipping options based on country, region, zip code, or zone.
5. Enhance the Customer Experience
Tailor the checkout experience to be more personalized and less confusing.
Scenarios Where You Might Hide Shipping Methods
WooCommerce is highly flexible, and many store owners want to hide shipping methods in scenarios such as:
-
Hide Free Shipping unless order total is over a certain amount
-
Hide Local Pickup for customers outside a certain zip code
-
Show Express Shipping only when weight is under 5kg
-
Restrict Flat Rate Shipping to specific product categories
-
Hide all shipping options for virtual or downloadable products
-
Display shipping methods based on user roles (e.g., wholesale customers get free delivery)
How to Hide Shipping Methods in WooCommerce (No Coding Required)
The easiest way to gain full control over shipping visibility is by using a plugin like WooCommerce Hide Shipping Methods by WPExperts.
Key Features of the Plugin:
-
Hide shipping methods based on:
-
Shipping class
-
Cart total
-
Product category
-
Country, state, or postal code
-
User role
-
Product weight
-
Cart quantity
-
Specific products or SKUs
-
-
Apply multiple conditions using rules
-
Combine “AND” and “OR” logic for precision
-
Schedule when rules are active
-
Automatically hide or show based on triggers
Step-by-Step: Hiding Shipping Methods with the Plugin
Here’s how you can hide specific shipping methods on your WooCommerce store using a plugin:
Step 1: Install the Plugin
Search for “Hide Shipping Methods for WooCommerce” in the Plugins menu, or upload the plugin if you’ve downloaded it from a premium source.
Step 2: Create a New Rule
Navigate to WooCommerce > Hide Shipping Methods. Click “Add New Rule” and give it a name (e.g., “Hide Free Shipping under $50”).
Step 3: Choose Shipping Methods to Hide
Select one or more shipping methods you want to hide, such as Free Shipping, Flat Rate, or Local Pickup.
Step 4: Set the Conditions
Add conditions that control when the selected shipping methods should be hidden. For example:
-
If Cart Subtotal < $50
-
If Shipping Class is “Heavy Items”
-
If User Role is “Retail Customer”
-
If Country is not “United States”
You can add multiple rules to refine your logic.
Step 5: Save and Test
Click “Save Rule” and test the checkout process by mimicking different scenarios. Confirm that the correct shipping methods are hidden as expected.
Examples of Practical Use Cases
Here are a few realistic examples that illustrate how this plugin helps real businesses:
1. Hide Free Shipping Below Minimum Order Value
Use case: You offer free shipping on orders over $75 but don’t want customers to see it if they haven’t met the threshold.
Condition: Hide Free Shipping if cart subtotal is less than $75.
2. Hide Local Pickup for Distant Customers
Use case: Local pickup is available only in New York, but customers from other states still see it.
Condition: Hide Local Pickup if postal code is not in the “100xx” range.
3. Hide Express Shipping for Bulky Items
Use case: You offer express delivery only for lightweight items.
Condition: Hide Express Shipping if cart weight exceeds 10kg.
4. Hide Shipping for Digital Products
Use case: You sell both physical and downloadable products, and shipping is irrelevant for the latter.
Condition: Hide all shipping methods if all products are virtual.
5. Wholesale vs. Retail Shipping
Use case: Wholesale users should receive discounted or free shipping, while retail users use standard rates.
Condition: Hide Flat Rate if user role is “Wholesale.”
Advanced Conditions and Combinations
You can create more advanced combinations by mixing conditions using AND/OR logic. For example:
-
Hide Free Shipping if:
-
Cart subtotal is under $100 AND
-
Product category is not “Premium Members”
-
-
Hide Local Pickup if:
-
User role is “Guest” OR
-
Country is not “United States”
-
This level of flexibility ensures your shipping logic aligns precisely with your business rules.
Alternative Methods (For Developers)
If you prefer a custom-coded solution, you can use WooCommerce’s filter hook:
add_filter('woocommerce_package_rates', 'hide_shipping_method_conditionally', 10, 2);
function hide_shipping_method_conditionally($rates, $package) {
if (WC()->cart->subtotal < 50) {
foreach ($rates as $rate_key => $rate) {
if ('free_shipping' === $rate->method_id) {
unset($rates[$rate_key]);
}
}
}
return $rates;
}
While this works, using a plugin is easier and safer, especially if you aren’t comfortable editing your theme files.
Benefits of Hiding Shipping Methods Based on Conditions
-
Reduces confusion: Fewer shipping choices make decision-making easier.
-
Encourages upgrades: Hide cheaper options to incentivize premium shipping.
-
Aligns with policy: Prevent shipping method abuse or misuse.
-
Improves UX: Only show what the customer is eligible for.
-
Saves time: Avoid manual adjustments by automating rules.
Conclusion
WooCommerce Hide Shipping Method based on specific conditions is a powerful way to streamline your store’s checkout process, offer personalized delivery options, and enhance customer satisfaction. Whether you’re selling globally or locally, to B2C or B2B customers, having fine-grained control over shipping visibility can dramatically improve the efficiency and clarity of your fulfillment process.