
This plugin stops customers from mixing products with different shipping classes in the same order. If a product is already in the cart, adding a product from a different shipping class will either be blocked, or the cart will be emptied first, depending on the option you choose.
This is useful for stores where mixing shipping classes causes shipping calculation problems, for example freight vs. standard items, or products that must ship in separate boxes or from different warehouses.
Once activated, go to WooCommerce > Settings > CartRules > One Shipping Class in Cart to turn the restriction on and choose what should happen.
Works with both the classic, shortcode-based cart and checkout, and the newer WooCommerce Cart and Checkout blocks.
Why upgrade to CartRules PRO?
This plugin only restricts the cart by shipping class. CartRules One in Cart PRO replaces it, and every other free CartRules plugin, with a single plugin that handles every rule type and gives you more control over how each one behaves.
Every rule type, in one plugin
- Category, tag, brand, shipping class, product type, any custom taxonomy, or individual products, instead of installing a separate plugin per rule type.
- Unlimited rules, each with its own settings, managed from one screen: WooCommerce > Settings > CartRules > One in Cart PRO.
More control per rule
- Scope a rule to specific groups instead of “any one at a time” (for example, only keep “Gift Cards” separate, and let everything else mix freely).
- Choose what happens when a rule is broken: block the new product with a message, or empty the cart and add it, decided separately for each rule.
- Flags other cart restrictions already running on your store, whether from a free CartRules plugin or your own custom code, so two rules never silently conflict.
- Works with both the classic cart and checkout and the WooCommerce Cart and Checkout blocks.