30%
OFFLimited time
Make sure your store is healthy and ready forGet your store ready for Black Friday
Catalog Health Scanner for WooCommerce
Use code at checkout
Get 30% Off

WooCommerce Conditional Shipping: Restrict Shipping Options by Anything

WooCommerce Plugin
5.0
4 Reviews
v2.2.0
Updated 3 weeks ago
500+
Stores Live
show the right method, hide the wrong one ↓

Control which shipping methods show up at checkout.

Free shipping only above $100. Express only on weekdays before 2pm. COD only in your city. Freight only on shipping-class "heavy". The plugin layers cart, product, location, user, payment, and time conditions on every WooCommerce shipping method. $39.99/yr or $119 once.

14-day refund
City + date/time rules
HPOS-ready
three things WooCommerce native can't do ↓

One shipping zone. Three shipping disasters.

Native WooCommerce filters shipping by zone and class only. Once your store offers free shipping above a threshold, charges COD only locally, or restricts overnight to weekdays before a cutoff, you need real conditions, not a zip-code lookup.

problem · 1

Free shipping on a $12 sale eats the margin.

Order · $12free shipping−$8.40 net loss
Order · $18free shipping−$5.60 net loss
Order · $24free shipping−$2.10 net loss

Native WooCommerce free shipping is on or off per zone. There's no "only when cart > $X" without code. Small orders ride for free and quietly drain the bottom line.

problem · 2

Customer picks a method the carrier can't fulfill.

checkout · 28kg sofa
USPS First Class (max 0.45kg)
Overnight envelope (no oversize)
Freight pickup
→ refund, replate, customer gone

A 28kg sofa is shown alongside an envelope rate because WooCommerce only filters by zone. The customer picks the cheap one, fulfilment rejects, you eat the refund and the support ticket.

problem · 3

Overnight orders placed at 11pm. Nobody to ship them.

11:14 pm FriOvernightmissed Mon promise
02:48 am SatOvernightmissed Mon promise
06:55 am SunOvernightmissed Tue promise
3 angry "where is it" emails by Monday 9am

Native WooCommerce has no time-of-day awareness. Late-night overnight orders look promised but can't actually go out until the next business day. Refunds, 1-star reviews.

eight conditions you'll use ↓

Cart. Location. Product. User. Payment. Time.

Layer any of the conditions below on any registered shipping method. Conditions combine with AND or OR. Every match equals "show this method"; every miss equals "hide it". No rule, no restriction.

location · city · state · zip

Down to the city, not just the country.

Country, state, postcode, AND city. Most shipping plugins stop at postcode. City rules unlock local pickup, same-day, regional couriers.

cart · total · weight · count

Show free shipping only when it's free for you.

Cart total, item count, or total weight. Greater than, less than, between. Stops free shipping from running away on tiny carts.

product · category · tag

Rules at the SKU or category level.

Single product, list of products, category, or tag. Match the cart against any of them. Works across simple, variable, and bundled products.

class · heavy · fragile · oversized

Shipping classes finally do something.

Assign WooCommerce shipping classes to products, then layer rules: "if heavy in cart, hide flat rate". Mix multiple classes per cart with smart fallbacks.

payment · gateway pairing

Pair shipping methods with the right payment.

Allow COD only when the cart is local. Require card payment for overnight. Stop high-risk gateway + shipping combinations before they become a chargeback.

role · wholesale · retail · VIP

Different methods for different customers.

Built-in WP roles + every custom role you've created. Combine with "User ID is X" for one-off exceptions.

user · specific IDs · membership

Per-customer perks (or per-customer blocks).

Most shipping plugins stop at role. This one targets individual users by ID, plus WooCommerce Memberships plan if installed.

time · cutoff · weekday · holiday

Hours of the day. Days of the week.

Daily cutoffs, weekday windows, date-range schedules. Holiday-only rates, weekend blackouts, peak-season overrides.

setup

Four steps. Live in under 10 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins → Add New, then activate.

Conditional Shipping for WooCommerce Active
ii · pick a method

Pick the shipping method to control

Open WooCommerce → Settings → Shipping. The plugin adds a "Conditions" tab to every shipping method (flat rate, free shipping, local pickup, custom carriers).

selected method Free shipping
condition tab opened
iii · add conditions

Add the conditions, combine with AND / OR

Pick from a dropdown: cart total, city, role, payment method, weekday, shipping class, user ID. Add as many as you need. Conditions chain with AND (all must match) or OR (any can match).

cart total ≥ $100AND
payment = StripeAND
weekday Mon-Fri✓
iv · save

Save. The cart filters automatically

On checkout the plugin evaluates conditions against the live cart. Methods that match show. Methods that miss hide. No customer ever sees a method they can't actually use.

how we stack up

More conditions. Lifetime tier. Half the yearly price.

WooCommerce
native · zones only
Conditional Shipping & Payments
$109/yr · no lifetime
Octolize Flexible Shipping PRO
$99/yr · up to $866/yr (25 sites)
WPFactory
$39.99/yr · $119 once
core: rule scope
Show / hide methods by condition✕✓✓
Per-method condition tab✕✓✓
Combine conditions with AND / OR✕✓✓
Works with every registered method-✓own method only
conditions supported
Cart total / weight / countfree-shipping only✓✓
Products / categories / tags✕✓✓
Shipping classper method, no logic✓✓
Country / state / postcode✓✓✓
User role✕✓✓
Payment gateway✕✓✕
WPFactory-only conditions
City-level rules (include / exclude)✕✕✕
Specific User IDs (per-customer)✕individual customers✕
WooCommerce Memberships plan✕✓✕
Date / time / weekday cutoffs✕✕✓
pricing & ownership
Free version on .org-✕✓
Lifetime tier-✕✕
Multi-store licensing-not specified$866/yr for 25 sites
10-year cost$0~$1,090 (1 site)~$8,660 (25 sites)
50+ plugins (All Access)-✕✕
Ready to filter shipping by anything? ↓ Jump to pricing
scroll →
three real stores ↓

Three businesses. Three condition stacks.

local bakery · same-day pickup

Bakery · "Same-day pickup, three boroughs only."

A Brooklyn bakery offers same-day local pickup in Brooklyn, Queens, and the Bronx. Outside those cities the option disappears entirely and the cart only shows USPS. COD is reserved for pickup so the bakery never chases an online payment that bounced.

Pickup methodcity in {Brooklyn, Queens, Bronx} AND cart < $80
CODonly when pickup method is selected
Cutoffsame-day if ordered before 10am, else next day

Failed deliveries (wrong city, missed cutoff) dropped from ~8 a week to zero. Pickup grew from 12% to 38% of weekly orders.

overnight delivery · weekday cutoff

Print shop · "Overnight only before 2pm on weekdays."

A print-on-demand shop promises next-day delivery on overnight orders. Sounds good, except the carrier picks up at 3pm. The plugin hides the Overnight option after 14:00, on weekends, and on US holidays. Customers see the option only when it's an honest promise.

Overnight methodweekday Mon-Fri AND time ≤ 14:00
Blackout datesDec 24-25, Jan 1, Jul 4, Nov 25-26
Fallback2-day express shown whenever Overnight is hidden

Late-shipment refunds dropped 90%. "Where is my order?" tickets fell by ~14 per week.

verified reviews

From stores running this right now.

Using the plugin? Leave a review on WordPress.org.

"The Conditional Shipping Plugin worked exactly as I needed it to. Taha was very friendly and helpful. They took care of every condition I needed."
D
Deanna Davoli
verified buyer
see review →
"Plugin works and has a ton of features and conditions. Support is first rate, the team helped me wire up a complex set of rules in a day."
J
jlstysis
verified buyer · borrowed from another WPFactory plugin
see review →
"Exactly what we needed. Reviewed the code before installing on a client site, well-structured and documented. Support replied fast when we had a question."
A
ADP (artevo)
verified buyer · borrowed from another WPFactory plugin
see review →
tested with

Works with every shipping method you've already got.

Platform

WP 4.4+WP 6.9WC 4.0+WC 10.7PHP 7.4+PHP 8.3HPOS-ready

Shipping methods

Flat rateFree shippingLocal pickupUSPSUPSFedExDHLTable RateCustom

Payment gateways

StripePayPalSquareMollieRazorpaySEPABACSCODCustom

Plugins

WC SubscriptionsWC MembershipsWPMLPolylangBlock checkoutClassic checkout
why this plugin

Built for stores where shipping is half the conversation.

Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.

Clean code, reviewed

Hooks into WooCommerce's woocommerce_package_rates filter rather than rewriting the shipping engine. Conditions evaluate only when shipping recalculates. No background jobs, no extra DB tables.

Docs & specs, written

Every condition is documented with examples (city, user ID, payment gateway, date/time). Filter hooks exposed for custom conditions. Edge cases (mixed shipping classes, multiple packages) covered explicitly.

Support that ships

Deanna's review puts it directly: support walked her through every condition until it worked. Real bug reports become releases within days.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If a condition you need doesn't fit, support helps; if it still doesn't, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

v2.1.3 shipped recently. Tested against the latest WooCommerce within days of every release. HPOS-ready, PHP 8.3 compatible. Tracks WC shipping API changes so condition evaluation keeps working.

Plays well with others

Compatible with WooCommerce Subscriptions, Memberships, WPML, Polylang. Filters exposed for every condition step so custom shipping plugins still see the cart they expect.

Designed for store owners

You don't need to know what woocommerce_package_rates is. Pick a method, pick conditions from dropdowns, save. The cart filters itself on every checkout.

6 stores joined this week·2 in the last 24h
if you're going to keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.

CONDITIONAL SHIPPING PRO
$119 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $119 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $300 more than Lifetime alone.

! Buying any 3 single lifetimes?
$357 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 5th plugin you'd use (vs. lifetime singles)
Explore All Access
Can I restrict shipping methods based on cart total?
Yes. Set rules to allow or block shipping options depending on the total cart value, so free or discounted shipping only applies when it makes sense for your business.
Can I disable specific shipping methods for certain products?
Yes. Restrict shipping based on individual products, categories, tags, or shipping classes, so bulky, fragile, or restricted items never get incompatible options at checkout.
Can I limit shipping methods by customer city?
Yes. The plugin supports city-level rules: require a method to appear only in listed cities, or exclude listed cities from a method. Works alongside country, state, and postcode.
Can I hide certain shipping methods for specific payment gateways?
Yes. Pair shipping methods with payment gateways. Allow Cash on Delivery only with local pickup, require prepaid card payments for express shipping, hide bank transfer when shipping is in another currency.
Can I schedule shipping restrictions for specific dates and times?
Yes. Set date and time windows: disable express after a daily cutoff (e.g. 2pm), hide a method on weekends, or open a holiday-only flat rate during a sale period.
Can I create rules for one specific customer?
Yes. Target rules by WooCommerce User ID. Give a single VIP buyer free overnight, exclude one user from COD after a chargeback. Lists of User IDs supported on include and exclude sides.
Can I create different rules for wholesale and retail customers?
Yes. Restrict or allow shipping options by user role (customer, wholesale_customer, subscriber, custom roles). Wholesale buyers see freight, retail buyers see standard rates, no overlap.
Does it work with WooCommerce Memberships?
Yes. Surface or hide methods based on membership plan, so paying members get exclusive shipping perks (free 2-day, member-only flat rate).
Will this slow my site?
No. The plugin only evaluates conditions when shipping is recalculated on cart and checkout. No extra database tables, no admin polling.
Is the plugin HPOS-compatible?
Yes. High-Performance Order Storage is declared compatible. Works with both the new high-performance order tables and legacy postmeta-based storage.
What is the refund policy?
14 days on the yearly and lifetime plans, 30 days on All Access. No questions asked. The yearly plan also includes an upgrade credit toward Lifetime or All Access. Lifetime never renews. Yearly auto-renew can be turned off in your account.
Is there a free version?
Yes. The free version on WordPress.org covers the core conditions (location, cart, products, shipping class, user role, payment gateway). The Pro version adds date and time scheduling, city-level targeting, specific User IDs, membership integration, and priority support.
if you've scrolled this far ↓

Stop showing shipping methods you can't actually fulfill. Filter the cart by anything.

Layer cart, product, city, role, user ID, payment gateway, and date/time conditions on every shipping method. Free shipping only above $100. Overnight only before 2pm. Pickup only in your city. 500+ stores already running it. 14-day refund if it's not for you.

500+ stores · 5.0★ across 4 reviews · WordPress.org plugin · 14-day refund