My first-ever WordPress.org plugin just got approved!
A few minutes later, I’d already built and submitted a second one, mostly by copying the first and swapping a few bits: one category becomes one shipping class, same mechanic, different rule.
Building the second one also surfaced a bug the first one couldn’t show on its own, a settings conflict that only appears once two CartRules plugins run side by side. Fixed it in both.
CartRules is starting to feel less like a single plugin and more like a small, growing family of them. Plugin two is now sitting in the WordPress.org review queue.
Here’s what happened today.
Plugin One Went Live
CartRules One Category in Cart for WooCommerce is now live on WordPress.org. It does one simple thing: it stops customers mixing products from different categories in the same order.
If someone already has a category in their cart and tries to add a different one, you choose what happens, either the new product gets blocked, or the cart gets emptied and replaced.
It’s a small plugin, but it’s my first one ever published on WordPress.org, under my own name. That felt like a milestone worth stopping for, even if only for a day.
Building Plugin Two Was Mostly Search and Replace
I didn’t want to stop at one. The plan for CartRules was always a small family of plugins, each restricting the cart in a different way, not one plugin trying to do everything.
So plugin two restricts the cart to one shipping class at a time instead of one category.
The mechanic is identical. Building it was mostly renaming: swap the category lookup for a shipping class lookup, swap the prefixes, swap the text domain, done.
Both plugins also share one thing on purpose, a single “CartRules” tab under WooCommerce > Settings, so a store running several CartRules plugins gets one shared home for them instead of a separate settings page each.
One Small Bug I Only Found By Building the Second One
Here’s the part I didn’t expect. Plugin one’s settings section used a shortcut that only works correctly when it’s the only CartRules plugin installed.
The moment I activated plugin two alongside it, that shortcut broke, and the two plugins fought over the same spot in the settings screen.
It’s the kind of bug you can’t catch by testing a plugin on its own, only by actually building the next one.
So, I fixed it in both plugins and shipped it as a small update to plugin one too. A good reminder that the code is rarely finished just because it’s approved.
Plugin Two Is Now Submitted for Review
CartRules One Shipping Class in Cart for WooCommerce is now with the WordPress.org review team, same as plugin one was a few days ago. Now it’s a waiting game again.
Two plugins in, and CartRules already feels less like one idea and more like a small, growing toolbox.

Leave a Reply