One of the things that I – and most developers, designers, and implementors – love about WordPress is how easy to is to implement new functionality through the use of plugins.
Yes, I’ve shared at length my thoughts on the plugin economy and it’s not coming from a point of disdain. Of course not. It’s coming from a place of appreciating something, wanting to see it being made better, and simply sharing gaps in experience.
But a second thing that I’ve begun to notice is that people want plugins for everything – even things that I believe should remain core business logic.
Why Not Everything Can Be a WordPress Plugin
I – as I’m sure many developers and designers in the WordPress space – have received emails, comments, tweets, or some form of communication as to why any given piece of functionality can be made into a WordPress plugin.
For example: Let’s say that I provide some instructions on how to enforce a Single Widget in a WordPress sidebar. Now, this isn’t to say that something can’t be made into a plugin – the truth is, many things can be – but not everything should be a plugin.
With last year’s State of the Word about WordPress becoming an application framework, with my own perspective on the matter, and with the recent developments on WordPress in 3.7 and 3.8, it’s further proof that WordPress is continuing to evolve to into a platform on which web applications are built.
On one hand, this is fantastic because it’s going to allow us to build more mature applications that are typically relegated to other libraries, frameworks, and foundations that are currently available.
However, this is also going to either “separate the men from the boys” (which is a cliche I tend to hate because I feel like I’m likely right around the pimply adolescent with braces), or, rather, it’s going to result is people creating some incredibly creative solutions to problems built on top of the platform that was once designated for publishing.
What’s The Point of This Diatribe?
So here’s the thing: If WordPress is moving into more of an application foundation or even application framework, then there are going to be something things that continue to work well as plugins, extensions, or whatever you want to call them.
However, there are also going to be certain things that simply aren’t deserving to be a plugin for two reasons:
- It’s not general enough that it warrants being developed as something outside of the core business logic.
- The specificity of a given requirement on how to achieve something may make a great tutorial, blog post, or guide, but doesn’t necessary quality itself as a plug-and-chug solution.
The reason I bring this up is simply this: I’m beginning to see more and more people see code snippets, tutorials, and how-to’s, and basically say “hey this great, can you make this a plugin?” Or something such as “Can you make this into a plugin?”
And the short answer is “No.” Honestly, if I could make it a plugin, I would, you know?
But if you’re looking to be a developer and you’re looking to build things for others, then you’ve got to draw a line at some point and learn how to think creatively about solving problems, and craft the necessary pieces by hand in order to satisfy your customers.
Anything less than that is going to provide them with a generalized solution that is either going to be too general for their needs, or it’s going to fall short of what they need.
I know that many people out there love WordPress and there’s even a bit of a gold rush going on right now. I urge you guys not to stop learning.
Stay hungry for that insatiable desire to get better at what you do – at building things for WordPress. Rather than looking at the band-aid solutions or the quick turn around, realize that not everything can be a WordPress plugin.
Build your clients specific, well-designed, focused solutions.
In the end, both you and they will be better for it.