WooCommerce Stop Checkout if No Shipping Options
Prevents customers from completing checkout (hides Place Order button and optionally redirects) when no shipping options are available for their address. Displays a clear error notice. Works on both classic and block-based checkout where possible.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ahkonsu/woocommerce-stop-checkout-if-no-shipping-avail/archive/refs/heads/main.zipA lightweight WordPress/WooCommerce plugin that prevents checkout completion when no shipping rates are available for the customer's address (ideal for US-only shipping stores), while allowing virtual/downloadable products to proceed normally.
Overview
WooCommerce Stop Checkout if No Shipping Options blocks invalid orders by hiding the Place Order button, disabling payment gateways visually, and redirecting direct access to /checkout → cart when shipping is required but unavailable (e.g., non-US address with US-only zones).
It smartly allows carts with only virtual/downloadable items to checkout freely (no shipping needed), but blocks mixed carts (physical + virtual) if shipping fails.
Developed by WPProAtoZ — no admin settings, no bloat, just reliable protection against undeliverable orders.
GitHub: https://github.com/Ahkonsu/woocommerce-stop-checkout-if-no-shipping-avail
Features
- Blocks checkout when shipping is required but no rates match the address
- Hides Place Order button and payment section via inline CSS
- Shows clear error notices (with custom phrasing: "Your cart contains items that we do not ship to your area.")
- Redirects direct
/checkoutattempts to cart with a notice including a clickable cart link - Allows virtual/downloadable-only carts to checkout normally (any address)
- Blocks mixed carts (physical + virtual) if shipping unavailable
- Optimized for classic shortcode checkout (CSS targets block elements too where possible)
- Lightweight — no database options, no heavy hooks, proper text domain for translations
- Safe — forces shipping recalculation, skips empty carts/endpoints
Perfect for stores limiting shipping to specific regions (e.g., US-only) while selling digital products.
Installation
- Download the latest release from GitHub Releases
- Upload via WordPress admin: Plugins → Add New → Upload Plugin → select the
.zip - Activate the plugin
Done! No configuration needed — it activates automatically on cart/checkout.
Alternatively, clone the repo:
git clone https://github.com/Ahkonsu/woocommerce-stop-checkout-if-no-shipping-avail.git woocommerce-stop-checkout-no-shippingReleases
1 release.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.