There is an enormous quantity of documentation and guides regarding WordPress and the “best way” for “creating and styling your WordPress plugin“, some of them provide an appropriate answer, but most of them have the wrong approach.
Within this blog post I’ll describe several considerations before even starting your WordPress plugin, so it will become more efficient and adaptable for changes.
Ok so lets get started…
The 3 main questions prior to writing a plugin are:
Goal– For what use this plugin will serve, and which users will need this plugin.
Complexity– Can I make this plugin within a reasonable time?
Design, Design, and again Design– Without this step your plugin will quickly get messy and turn into something that you didn’t want to do. The plugin will take you much more time than expected, without having the ability to be flexible to changes and no concentration on the main goal that this plugin should serve.
So before starting your plugin, please take several hours (depending on your plugin) and go through the above list and see that you have all in mind and also documented!!
If you’ll make a quick search regarding your plugin’s goal you’ll probably find someone that already did something similar to your plugin’s intention.
My advise to you all is: “If you know what you’re doing, then do it by yourself, but always check what the other offers.”
In other words, make your plugin by your own but when reaching the design phase take a quick look on the other plugins so you’ll get more ideas for your plugin.
If you’re still mastering writing code, then if you see a plugin that is similar to what you wish then you have 2 other choices.
1. Use it.
2. Learn from it. – By “Learn from it” I mean that you should open new plugin that you intended to do and try to understand – step by step – the flow that is written in the plugin.
This phase is going side by side with the Goal phase, as after having a goal you should get the idea if it is reasonable for you to develop it!
In the Goal paragraph I stopped at the “other choices” that you have because when you define the Goal, you’ll need to be aware whether you can work things out and implement the desired plugin.
If the desired plugin seems to be too complex, then I advise using an already written plugin, but if you think that your plugin is reasonable for your skills, then you should proceed to the design phase.
Design Design Design
Every project starts with a design, it doesn’t matter if the project is one HTML page or a complex plugin it has to have a design.
Now come the most delicate phase of your project, the Design
Whether the design is detailed or not, it can be the main factor in the core functionality of the plugin and whether the plugin will be a success or not.
In my opinion, there are 7 categories that should be included in every design that you make.
1. Project general description.
2. Development guidelines.
4. Modules – Modules that you’ll be using in the plugin such as:
– Folder Structure
4. Users – Users that the plugin should support
5. Design and requirements
6. Open Issues
7. Technical Limitations
After setting all of the above you are ready to go and start developing your new plugin.
If you would like to start your first plugin, you can read more about it in “How to Develop a new WordPress plugin” post.