Introducing the Extension Generator
Probably the single most awesome thing about WordPress is the fact that it is easy for developers to extend. The plugin architecture which allows for adding custom functionality to a site within WordPress is incredible and among the chief reasons for its success. But what’s also cool is the fact that WordPress isn’t the only thing which can be extended. Plugins themselves, within WordPress, can serve as platforms for developers to enhance, add, remove and improve upon.
Extending other plugins is something I’m quite passionate about. It offers tremendous opportunities to leverage existing code, push the limits of what plugins can do and avoid having to reinvent the wheel for every project. From day one, this focus has been hugely apparent in the work we’ve done on Client Dash. Our goal has always been to make it as easy as possible for other developers to extend and I think we’ve done a pretty darn good job. The core Client Dash plugin features an extensive API with loads of helper functions (documentation is coming soon!) which make extending it pretty darn simple.
But the truth is, if you really want to encourage others to integrate with and extend your plugin, it generally requires a little more than just writing extendable code. Realizing that, we’ve worked very hard to push the limits of how easy a plugin can be to extend.
The Extension Boilerplate
Early on we took inspiration from Tom McFarlin’s WordPress Plugin Boilerplate and created the Client Dash Extension Boilerplate which we are continuously developing. This simply sets one up so that the only required tasks to make a fully integrated extension are to insert some content into a clearly commented function and do some namespacing. Whenever we build an extension, this is where we start. The boilerplate is constantly kept up to date with Client Dash and routinely audited for optimal flexibility, clarity and convenience.
The Extension Generator
We have been and are very proud of the boilerplate and I believe it is an excellent starting point for creating an extension…but…I’ve always been slightly bothered by the thought that it could be easier. That is, until today. Today we officially have completed work on the extension generator which I believe makes creating a fully functional Client Dash extension ridiculously easy. Basically, we’ve taken a nod from underscores and made the creation of a functional plugin as simple as filling out some simple text fields and hitting a submit button. I think that’s about as easy as it can get. After completing the form you’ll receive a .zip file which can be uploaded directly to WordPress and activated.
This is something I’m completely stoked about it for so many reasons. First of all, I just think this super quick and easy generation of a working, namespaced plugin is freaking cool and would like to take it to other projects. Secondly, I’m obviously very interested in seeing what other developers will do with it. Anything is possible. Lastly, I’m excited for myself because I will also be using this generator for the many, many extensions to Client Dash that I plan on producing in the near future.
So I hope you like it and I’d love to hear feedback. What do you think?