Smartdisain Conditional Checkout Rules for WooCommerce lets you control the WooCommerce checkout by shipping method and shipping class, without code.
1. Checkout fields by shipping method
For each shipping method (e.g. parcel locker, courier, local pickup) you can choose:
Fields are hidden or made required instantly when the customer changes the shipping method at checkout. A hidden field is not validated and is never required (hiding takes precedence over requiring).
The settings screen shows one card per shipping method, with a simple Default / Hide / Required choice for every field, a search box, a “configured only” filter and the option to copy rules from another shipping method.
Settings: WooCommerce Settings Shipping Checkout fields.
2. Shipping methods by shipping class
A second screen shows one card per shipping class. For every shipping method choose Default (offered as usual) or Disable: a disabled method is not offered when the cart contains a product of that class. Use it, for example, to hide parcel lockers for bulky goods or to offer a courier only for fragile items.
Settings: WooCommerce Settings Shipping Shipping class rules.
Features
Compatibility
[woocommerce_checkout] shortcode) and with the block-based Checkout (Store API).Block checkout notes
The block checkout has no per-shipping-method API for its core address fields, so the plugin uses WooCommerce’s documented woocommerce_get_country_locale filter (also used for Store API validation) and reloads the checkout when a shipping choice changes the rules. Address field rules apply to the billing and shipping forms together. Email and order notes cannot be changed in the block checkout.
Privacy and licensing
The plugin is completely free, has no locked or paid features, makes no external requests, loads no third-party code and collects no data.
For developers:
ccffw_rules filter – modify the rules ($rules, $type = hide | require).ccffw_class_rules filter – modify the shipping class rules (class slug => disabled shipping method keys).ccffw_blocks_support and ccffw_blocks_reload filters – switch block checkout support or the automatic reload off.local_pickup) applies to all instances of that shipping method.