=== Webengine Shipping Restrictions for WooCommerce ===
Contributors: webenginedev
Tags: woocommerce, shipping, restrictions, shipping methods, checkout
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Hide specific shipping methods at checkout when certain products are in the cart — configured per product or per shipping method.

== Description ==

Some products just cannot ship with some carriers: too heavy for relay points, too large for lockers, dangerous goods excluded by express services… This plugin lets you express those rules in seconds, from either side:

* **Per product** — a "Restricted shipping methods" checkbox list in the product's Shipping tab: tick the methods to hide whenever this product is in the cart.
* **Per shipping method** — a "Restricted products" field in each shipping method instance (WooCommerce → Settings → Shipping → zone → method): pick the products that make this method disappear.

Both rules combine at checkout: a shipping rate is removed as soon as any rule matches. Works with any registered shipping method, including third-party carriers (DPD, Chronopost, Colissimo, Flexible Shipping…), on the classic and block checkout (rates are filtered server-side).

The plugin stores a single post meta per product and one field inside each method's settings — no extra tables, nothing to configure globally.

== Frequently Asked Questions ==

= Does it work with the block checkout? =

Yes. Rates are filtered server-side via `woocommerce_package_rates`, which both the classic and block checkout use.

= Does it work with variable products? =

Yes — restrictions are set on the parent product and apply to all its variations.

= The product list in the method settings seems incomplete =

For performance the product selector is capped at 2000 products (filter `wsrw_product_choices_limit`). The per-product side has no limit — prefer it on very large catalogs.

== Screenshots ==

1. The product's Shipping tab with the restricted methods list.
2. The "Restricted products" field in a shipping method's settings.

== Changelog ==

= 1.0.0 =
* Initial release.
