When setting up your online store, managing how shipping rates appear to buyers is critical to maximizing sales. If you want to hide WooCommerce shipping choices without frustrating your users, the objective is simple: display only the exact fulfillment options that apply to the current order.
By default, WooCommerce keeps all active options visible at the same time. If a customer qualifies for free shipping, they still see your standard flat-rate fee right next to it. Leaving unnecessary choices active creates checkout confusion and increases cart abandonment. Cleaning up this step ensures a faster path to purchase.
Quick Answer: You can hide WooCommerce shipping methods by configuring shipping zones, using a conditional shipping plugin, or applying custom PHP filter hooks. The most common requirement is to hide paid delivery methods like flat rate when free shipping becomes active, though you can also hide options dynamically based on the total value of the cart, customer addresses, coupons, or unique product shipping classes.
Table of Contents
Why Hide WooCommerce Shipping Methods?
Displaying an excessive number of fulfillment options triggers decision fatigue. When a buyer faces multiple choices at checkout, any point of confusion can lead them to abandon their cart completely.
Hiding irrelevant options also helps you strictly enforce your store’s business logic. For example:
- Promoting Special Offers: You can automatically hide flat rate shipping when free shipping is available, making your free offer prominent.
- Geographic Constraints: You can remove options like local pickup for customers located outside your immediate service region.
- Protecting Margins: You can restrict economy shipping options for fragile or high-weight items that require specialized handling.
How WooCommerce Shipping Methods Work
WooCommerce natively categorizes fulfillment operations into a hierarchy of geographical zones, core calculation methods, and product categories.
Shipping Zones
A shipping zone is a specific geographic region where a distinct set of delivery options applies. Zones can be broad (like an entire continent or country) or narrow (restricted to specific states, regional territories, or precise lists of ZIP/postcode ranges). WooCommerce evaluates a buyer’s shipping address from top to bottom through your zone list, applying the rules of the first matching region it finds.
Shipping Methods
Within each zone, you assign individual shipping methods. Core WooCommerce includes three native methods:
- Flat Rate: A fixed standard charge applied per order, per item, or per shipping class.
- Free Shipping: A zero-cost fulfillment trigger that can be linked to minimum order spends, specific coupons, or both.
- Local Pickup: An option allowing buyers to retrieve items directly from your brick-and-mortar storefront or warehouse location.
Shipping Classes
Shipping classes are taxonomy terms used to group specific products by physical attributes like weight, fragility, or dimension. While shipping classes do not directly hide options on their own, they allow your rules engine to calculate distinct fees or apply structural constraints to specific categories of products.
Free Shipping Conditions
Free shipping settings do not dynamically change the visibility of other methods out of the box. Instead, when a cart meets a rule—such as hitting a 100 threshold—the free option simply appends itself to the existing list of available methods, requiring manual intervention or structural adjustments to clean up.
Common Use Cases for Hiding WooCommerce Shipping Methods
Real-world e-commerce stores frequently need to conditionally hide shipping options to preserve margins and clean up user interfaces. Common operational patterns include:
- Hiding flat rate shipping when free shipping is available: Prevents buyers from accidentally choosing a paid standard method when they qualify for free delivery.
- Hiding local pickup for certain locations: Ensures local pickup only displays for regional buyers, removing it for international addresses.
- Hiding shipping by cart total: Restricting premium next-day courier delivery to high-value orders while keeping it hidden for small carts.
- Hiding shipping by product type or shipping class: Restricting lightweight envelope delivery when a cart contains heavy, bulky items.
- Hiding shipping by coupon code: Activating special hidden delivery methods only when a customer applies a promotional code.
- Hiding international shipping methods: Ensuring products restricted by export laws or high transit costs never show international delivery choices to overseas shoppers.
WooCommerce Shipping Methods
Method 1: Hide Other Shipping Methods When Free Shipping Is Available
Hiding paid methods when a free delivery tier triggers is the most frequent optimization request for online stores. It eliminates human error at checkout and reinforces your promotional milestones.
The Beginner-Friendly Plugin Path
For non-technical store managers, using a dedicated conditional shipping plugin is the safest choice. These modules allow you to select your free shipping triggers within a visual options panel. They handle the conditional background logic automatically without requiring updates to code files.
The Code-Based Approach
If you prefer not to add more plugins, you can filter method visibilities using a PHP code snippet.
Critical Safety Warning: Never edit theme files on a live site. Always test custom code modifications inside an isolated staging environment first. A minor syntax omission or typo inside your checkout logic can break your payment gateway connection or prevent users from placing orders.
To apply this adjustment programmatically, paste the following script into your child theme’s functions.php file or add it via a code customization utility:
PHP
<?php
/**
* Hide standard flat rate shipping methods when Free Shipping becomes active.
* Supported in WooCommerce 8.0+ / 9.0+ environments.
*/
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 100, 2 );
function hide_shipping_when_free_is_available( $rates, $package ) {
$free = array();
// Scan all available rates for the current package to find free shipping
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
// If free shipping is active, return only the free option (or include local pickup)
if ( ! empty( $free ) ) {
// Optional: If you want to keep Local Pickup available alongside Free Shipping
foreach ( $rates as $rate_id => $rate ) {
if ( 'local_pickup' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
}
}
return $free;
}
return $rates;
}
Method 2: Hide Shipping Methods Based on Cart Total
Cart-based shipping structures allow you to use price thresholds to toggle options on or off. This lets you offer budget shipping options for minor orders while unlocking premium, secure options for high-tier carts.
Practical Scenario
Consider an e-commerce clothing shop that provides premium trackable courier services. For orders under 50, the store hides the courier option entirely to protect margins against small shipments, showing only standard flat rates. Once the checkout subtotal crosses 50, the rules engine hides the cheap untracked method and switches to premium trackable fulfillment.
Method 3: Hide Shipping Methods Based on Customer Location
Location-based rules give you precise control over shipping options by targeting specific locations using WooCommerce shipping zones.
When a customer fills out their destination details, the store checks their address against your zone definitions. If a shopper inputs an international zip code, your store can look for that region and hide domestic options like state-wide courier services or flat rates. This relies heavily on accurate address collection at checkout. Ensuring a clear layout helps match customers to the right zone rules instantly.
Method 4: Hide Shipping Methods Based on Product, Category, or Shipping Class
Varying catalogs require product-level restrictions. Standard universal shipping options quickly break down when a single cart contains a mix of digital downloads, fragile stock, or oversized inventory.
Practical Variations
- Fragile Goods: If a user adds items assigned to a “Glassware” shipping class, your backend code can drop fragile economy post and show only protective freight options.
- Perishable Items: For frozen food or botanical products, rules can hide standard ground delivery and display only next-day cold-chain shipping options.
- Made-to-Order Stock: For heavy items that require custom manufacturing, rules can disable local warehouse pickups and restrict fulfillment to home delivery.
Method 5: Use a Conditional Shipping Plugin
Using a configuration plugin is the most sustainable approach for growing stores that don’t employ a full-time web developer.
When to Choose a Plugin
- You prefer configuring your checkout behavior through a visual dashboard instead of a text editor.
- You need to combine multiple rules at once, such as checking a cart total and a customer’s location and their shipping class before hiding a method.
- Your fulfillment strategy changes frequently throughout the year due to seasonal sales or inventory drops.
Using plugins helps protect your site from unexpected downtime, as updates from reputable developers are pre-tested against core WooCommerce core updates.
Method 6: Use Custom Code Carefully
Writing custom PHP functions gives you total control over checkout logic without adding extra plugin overhead to your database.
When Code Makes Sense
- Your team includes an experienced developer who actively maintains your codebase.
- Your store relies on a highly custom rule that standard plugins don’t support out of the box.
- You want a lean site setup and prefer to minimize the number of active extensions.
When to Avoid Custom Code
- You do not have access to a staging site or a recent backup tool.
- You are uncomfortable using file transfer protocols (FTP) or hosting panels to restore your site if a runtime error occurs.
- You need to manage a long, changing list of complex shipping rules across dozens of product variations.
Plugin vs. Custom Code: Which Option Should You Choose?
| Evaluation Factors | Conditional Shipping Plugin | Custom PHP Code Snippet |
| Technical Skill Requirement | Completely Code-Free | Intermediate to Advanced PHP Knowledge |
| Setup Speed | Minutes via visual user interface | Requires writing, uploading, and debugging code |
| System Maintenance Overheads | Handled automatically by plugin developer | Requires manual reviews during core WooCommerce updates |
| Execution Performance | Minor extension script overhead | Lightweight and direct execution |
| Risk of Total Site Failure | Very Low | High (if errors are introduced directly to live files) |
ShopLentor- WooCommerce Builder for Elementor & Gutenberg
A versatile page builder to build modern and excellent online stores with more than 100k+ Active Installations.
How ShopLentor Helps After You Configure Shipping Rules
Once you configure your conditional shipping rules using native zones, custom code, or a dedicated plugin, the next step is optimizing the checkout process to improve conversion rates.
This is where ShopLentor (formerly WooLentor) serves as an excellent supporting optimization tool. ShopLentor shouldn’t be used as a dedicated conditional shipping rules engine itself; instead, it works alongside your shipping rules to streamline the layout and reduce customer friction.
You can enhance your updated shipping structure using several core features:
- Checkout Field Manager: If you only offer local pickup for certain items, you can use this feature to hide unneeded address fields. This keeps your forms clean and professional.
- Google Address Autocomplete: Helps buyers enter their shipping addresses quickly and accurately. This ensures WooCommerce places them in the right shipping zone every time, preventing incorrect delivery options from showing up.
- Multi-Step Checkout & Shopify Style Checkout: Breaks up dense checkout pages into clear, orderly steps. Showing your clean, updated shipping methods on a dedicated page helps buyers focus and prevents decision fatigue.
- Side Mini Cart & Quick Checkout: Allows shoppers to verify their items, check delivery updates, and head straight to payment without extra page reloads.
Best Practices Before You Hide Shipping Methods
Changing your shipping logic can lead to support inquiries if it isn’t thoroughly tested before launch. Use this validation checklist to verify your changes:
- Test inside a staging sandbox first: Never push code or configuration adjustments directly to live buyers.
- Confirm your shipping zone boundaries: Make sure your regional states, countries, and zip code ranges don’t overlap in a way that creates conflicts.
- Check tax settings: Verify whether your price thresholds calculate shipping eligibility using pre-tax or post-tax totals.
- Test with multiple sample addresses: Run mock checkouts using local, out-of-state, and international addresses.
- Verify coupon logic: Confirm that your cart calculation rules still work properly when a customer applies a discount code.
- Review on mobile screens: Make sure long method titles don’t break your responsive buttons or form layouts on mobile devices.
- Keep at least one fallback method active: Never create a set of rules that completely hides every available shipping method for an address, as this blocks users from finishing their purchase.
Example Workflow: Hiding Paid Shipping When Free Shipping Is Available
To see these pieces working together, let’s look at a practical example:
Imagine you run an online cosmetics store that offers free delivery on orders over 60. For smaller carts, you offer a standard flat rate of 5 alongside a local pickup option for regional shoppers.
- The Small Cart: A buyer adds a 25 items to their cart. At checkout, the system checks the total against your free shipping threshold. Since it’s under 60, the customer only sees Flat Rate and Local Pickup.
- Reaching the Milestone: The buyer adds 40 more of items to their cart, bringing the total to 65. The free shipping threshold triggers.
- The Clean Interface: Instead of showing all three options at once, your custom snippet or plugin hides the flat rate method. The checkout page updates instantly to display only Free Shipping and Local Pickup, giving the buyer a clear, distraction-free choice.
Final Checklist
Before finishing your shipping updates, verify these final items:
- Your geographic zones match your actual fulfillment capabilities.
- Your free shipping rules trigger exactly at your target price points.
- Mixed carts containing different shipping classes display the correct rates.
- At least one valid shipping method remains visible for every possible address combination.
Frequently Asked Questions
How do I hide shipping methods in WooCommerce?
You can hide shipping methods using native shipping zones for location-based rules, applying custom PHP code snippets to filter your rates matrix, or installing a dedicated conditional shipping plugin for visual, rule-based management.
Can WooCommerce hide flat rate shipping when free shipping is available?
Yes. This is a common practice for e-commerce sites. It can be handled by adding a custom PHP function to your theme’s functions.php file or using a conditional shipping plugin to disable flat rates when free delivery triggers.
Can I hide shipping methods by location?
Yes. WooCommerce shipping zones let you restrict methods by country, state, or specific zip/postal codes, ensuring options only display to customers within those exact areas.
Can I hide shipping methods by cart total?
Yes. Conditional shipping rules allow you to check the current cart subtotal and dynamically hide or show specific options depending on whether the order is above or below a set price point.
Do I need a plugin to hide WooCommerce shipping methods?
No. Advanced users can handle this using custom PHP filters. However, a plugin is highly recommended for beginners because it provides a visual dashboard and eliminates the risk of code errors breaking the checkout page.
Can ShopLentor hide WooCommerce shipping methods?
No, ShopLentor is built for checkout and cart style optimization rather than serving as a dedicated shipping rules engine. Use it to improve your checkout layout and forms after configuring your shipping rules.
What happens if all shipping methods are hidden?
If your rules accidentally hide every available method, the checkout page will display an error stating that no shipping options are available for the address. This blocks the customer from completing their purchase, so always keep a fallback option active.
Should beginners use code or a plugin?
Beginners should use a plugin. Modifying theme files directly carries technical risks, while a plugin allows you to set up, test, and update your rules safely without writing code.
Conclusion
Managing how shipping methods appear in WooCommerce is a straightforward way to reduce cart abandonment and keep your checkout process clear. Beginners can get a safe, easy-to-manage setup using a dedicated conditional shipping plugin, while advanced users can achieve a lean setup using custom PHP filters inside a child theme.
Once you have your shipping rules working smoothly, you can focus on improving the rest of the buyer’s journey. Explore the optimization tools available in ShopLentor to build a fast, user-friendly, and conversion-optimized WooCommerce checkout experience.
