A common misconception in the world of WordPress is that extensions are the same as plugins. While WooCommerce answers this question in the documentation, it’s worth spending some attention to it. On Tiwtter, Andrea Middleton asked me to touch on this:
@themotherofcode Wait I have one last idea: “what’s the difference between a plugin and an extension?” 🙂 ok </suggestions>
— Andrea Middleton (@andmiddleton) October 17, 2016
So, What’s The Difference?
The answer is much more simple than you might think. A plugin adds one or more functionalities to WordPress – which, in its base, is a Content Management System only. An extension is a child to the before mentioned plugin; it extends the plugin with more features. If we take WooCommerce as an example, the hierarchy is as follows:
- WordPress is the base platform
- WooCommerce is the parent plugin, extending WordPress so it gains eCommerce functionalities
- WooCommerce extensions add more possibilities to what you can do with WooCommerce, the parent
Why Is There A Difference?
Again, taking WooCommerce as an example (though it’s true for every well-designed WordPress product): this plugin is used by millions of users, and all of its users have different needs.
As a support engineer working in the Woo ticket queue every day I can tell you that this is 100% true. They are all unique in some way, even if they’re in the same branche.
If we were to add every single feature request into WooCommerce core, it would get so bloated and heavy that it would become impossible to use. We would get complaints and angry rants, and people would drop us like there’s no tomorrow.
In that light, splitting the different functionalities up into extensions makes sense. It allows you, as a user, to pick and choose which features you need. This means that if you only need the basic functionalities of the plugin, you can choose something that is lightweight and simple.
It’s About Choices, Not Features
In the end, building a website has one single goal: to get visitors. Whether it’s to get read, or to sell a product, it’s all about who’s seeing your content.
You might sell your hand-made Wappuu pluchies. Does that mean you need the ability to add Vendors to your site? No, because it’s just you making your items. You might want to allow others to sell their hand-made pluchies when your website is on a roll, and it’s nice to have the ability to make that choice later on.
You know what’s also nice? Not being forced to have something on your site, just because the plugin developer thought it’d make a cool feature. That, essentially, is why there is a difference between plugins and extensions.