Share X in ✉

How to Hide Shipping Info in WooCommerce (Step-by-Step Guide)

Last updated
Read time
6 min
Category
How to Hide Shipping Info in WooCommerce (Step-by-Step Guide)

You can hide shipping info in WooCommerce three different ways, and which one you need depends on what you’re actually trying to hide. Turn off shipping calculations entirely from WooCommerce’s General settings if you sell only digital products. Hide one or two confusing shipping methods with a plugin if you still ship physical goods. Or hide the shipping address form and the “Ship to a different address” checkbox, which is a separate setting most guides skip over.

This guide covers all three, in that order, so you can jump to the one that matches your situation.

How to disable shipping completely from WooCommerce settings

This is the fastest option, and it works well if your store sells only virtual or downloadable products like courses, software, or ebooks. It removes the shipping calculator and shipping method line from the cart and checkout pages entirely.

Step 1: Go to WooCommerce > Settings from your WordPress dashboard.

Step 2: On the General tab, scroll to the Shipping options section. (Some older WooCommerce versions place this under the Shipping tab’s “General Options” sub-tab instead. Check there if you don’t see it on General.)

Step 3: In the Shipping location(s) dropdown, select “Disable shipping & shipping calculations.”

Step 4: Click Save changes.

Step 5: Open your cart page and confirm the shipping calculator and shipping method are gone.

It’s an all-or-nothing switch though. Your entire store loses shipping, not just one product or one method, so it’s the wrong tool if you’re mixing physical and digital products in the same store.

Pro tip: if you sell only downloadable products, set each product’s type to “Virtual” in the Product data section. WooCommerce hides shipping fields for virtual products automatically, even without touching the setting above.

How to hide the “Ship to a different address” checkbox and shipping address fields

The “Ship to a different address” checkbox is a separate feature from shipping methods. It controls whether a customer can enter a delivery address that’s different from their billing address, and it’s the setting most tutorials on this topic miss entirely.

Hide the checkbox and shipping address form completely

Step 1: Go to WooCommerce > Settings > Shipping.

Step 2: Open the Shipping options tab.

Step 3: Under Shipping destination, select “Force shipping to the customer billing address.”

Step 4: Click Save changes.

This removes the checkbox and the entire shipping address form. Customers can only enter one address at checkout, and that address is used for both billing and delivery.

Keep the checkbox visible but unchecked by default

Step 1: Follow the same path: WooCommerce > Settings > Shipping > Shipping options.

Step 2: Under Shipping destination, select “Default to customer billing address” instead.

Step 3: Click Save changes.

The checkbox stays on the page, but it starts unticked, so the shipping address form only appears if the customer actively opens it.

Local pickup stores: hide the shipping address without disabling shipping

If your store offers local pickup and you don’t want a separate shipping address form showing up for those orders, “Force shipping to the customer billing address” combined with a local pickup shipping method usually covers it. Customers picking up in person don’t need a delivery address.

It’s a blunt fix, though. That setting applies to every order on the store, not just pickup ones. If any of your customers still need delivery to a different address, forcing billing-only shipping will block that for them too.

How to hide specific shipping methods using a plugin

Settings changes are all-or-nothing. If you need to hide one carrier for certain products, countries, or cart values while keeping the rest of your shipping setup intact, a plugin does that without code. Three options that handle this differently:

Hide Shipping Method for WooCommerce lets you build conditional rules by cart total, country, product, shipping class, or user role, and includes a one-click option to hide every other method whenever free shipping is available.

WC Hide Shipping Methods is a narrower, free plugin built for exactly one job: hiding other shipping options whenever free shipping applies, with a setting to keep local pickup visible alongside it. It doesn’t do general condition-based hiding the way the other two do.

ELEX Hide WooCommerce Shipping Methods hides methods by shipping class, order weight, product, or carrier, and it covers named carriers like DHL, USPS, and FedEx specifically, which matters if you’re trying to hide one courier rather than a generic “flat rate” method.

Here’s how to set up the first one:

Step 1: Go to Plugins > Add New from your WordPress dashboard.

Step 2: Search for “Hide Shipping Method for WooCommerce.”

Step 3: Install and activate the plugin.

Step 4: Go to WooCommerce > Hide Shipping. You’ll find rule options based on product, cart value, user role, and more here.

Step 5: To hide everything, check “Hide all shipping methods?” on the General Settings tab. To hide something more specific, build a rule instead of using that checkbox.

Step 6: Click Save Settings.

Step 7: Load the checkout page and confirm the change.

Exact tab and checkbox labels can shift slightly between plugin updates, so check your installed version’s settings screen if something doesn’t match exactly.

Pro tip: clear your site cache after saving. Checkout pages are commonly cached, so changes won’t show up on the front end until the cache clears.

If you only need to hide other methods when free shipping kicks in, look for that specific checkbox in the plugin settings rather than building a full rule. All three plugins above include it as a single setting.

How to hide shipping info with custom code

If you’re comfortable editing code, this skips the plugin and adds a lightweight CSS or PHP fix instead.

These snippets target the classic (shortcode) checkout. If your store runs the block-based Cart and Checkout, the default in WooCommerce since version 8.3, the page markup is different and this CSS won’t match anything on it. Check which checkout your store uses in the block editor before relying on this method. If you’re on blocks, the settings or plugin options above are the more reliable route.

Option 1: hide shipping fields with custom CSS

Go to Appearance > Customize > Additional CSS and add:

.woocommerce-checkout #shipping_method, 
.woocommerce-checkout .woocommerce-shipping-fields {
display: none !important;
}

This hides the shipping method and shipping address fields visually. It doesn’t stop shipping calculation on the backend, only the display.

Option 2: disable shipping logic with PHP

Step 1: Go to Appearance > Theme File Editor.

Step 2: Open your theme’s functions.php file.

Step 3: Add this to the end of the file:

add_filter( 'woocommerce_cart_needs_shipping', '__return_false' );

Step 4: Save the file.

This disables shipping logic at the code level rather than just hiding it visually.

Back up your site, or better, use a child theme’s functions.php, before editing code directly. A typo in functions.php can take down the whole front end.

Frequently Asked Questions

How do I hide other shipping methods when free shipping is available in WooCommerce?

Use Hide Shipping Method for WooCommerce, WC Hide Shipping Methods, or ELEX Hide WooCommerce Shipping Methods. All three include a built-in option to hide every other method automatically once free shipping qualifies, so you don’t need to write a custom rule for this specific case.

Why aren’t shipping options showing on my WooCommerce checkout?

Usually one of two things: Shipping location(s) is set to “Disable shipping & shipping calculations” under WooCommerce > Settings > General, or the customer’s address doesn’t fall inside any shipping zone you’ve set up. Check both, then confirm a shipping method is actually added to the matching zone under WooCommerce > Settings > Shipping.

Can I hide the shipping address only for local pickup orders and not for delivery orders?

Not through a core setting. “Force shipping to the customer billing address” applies to every order, pickup or not. For pickup-only logic, a conditional plugin like Hide Shipping Method for WooCommerce, which supports rules by shipping method, is the more reliable route.

Key takeaways

  • “Disable shipping & shipping calculations” removes shipping storewide. Use it only if every product you sell is digital.
  • The “Ship to a different address” checkbox and shipping address form are controlled separately from shipping methods, through “Force shipping to the customer billing address” or “Default to customer billing address.”
  • Plugins give you conditional, per-method control without code: cart value, country, product, user role, or carrier.
  • Hide Shipping Method for WooCommerce, WC Hide Shipping Methods, and ELEX Hide WooCommerce Shipping Methods all include a one-click option for hiding other methods when free shipping applies.
  • CSS and PHP snippets only work on the classic checkout. Confirm your checkout type before using them if your store was set up recently.
  • Forcing billing-only shipping solves the local pickup address problem, but it removes the option for every order, not just pickup ones.
[CTA] Stop reading. Start fixing.
Fix your product feed with CTX Feed Pro.

Free version on WordPress.org. Every Pro licence includes a 30-day money-back guarantee.

[0] Comments
Join the discussion
Leave a comment →

Leave a comment.

[NEWSLETTER] Field Notes, monthly

One email a month.
Zero fluff.

Channel-spec changes, plugin releases, the occasional deep dive on something we broke.