WordPress Plugin Development Tips
Its obvious that every WordPress plugin developer struggles with tough problems and code that’s difficult to maintain. We spend a lot of time supporting our users and pull our hair out when an upgrade breaks our plugin. Let me show you how can we make it easier.
1. Plugin should Solve a Problem
If your plugin doesn’t solve a problem, it won’t get downloaded. It’s as simple as that
Focus on a problem. When people don’t see their SEO performing well, they install an SEO plugin. When people want to speed up their website, they install a caching plugin. When people can’t find a solution to their problem, then they find a developer who writes a solution for them. If you have an opportunity to solve someone’s problem, take a chance.
2. Better support
When you provide excellent support, people start to trust you and your product. Good-quality support is critical in order for your plugin to grow. Even a plugin with the best code will get some support tickets. The more people who use your plugin, the more tickets you’ll get. A better user experience will get you fewer tickets, but you will never reach inbox 0.
3. Reasonably Support Old PHP Versions Link
Don’t support very old versions of PHP, like 5.2. The security issues and maintenance aren’t worth it, and you’re not going to earn more installations from those older versions. Tell your users which versions you do support, and make sure their website doesn’t break after your plugin is installed on too low a version.
4. Flexibility and Customization
The action and filter hooks form the core basics of the WordPress architecture. These make the WordPress platform completely extendable without having to modify the core WordPress files. In your plugin or the theme you can execute your code at specific actions of WordPress during the serving of a request without having to make any modification to any WordPress core files.
In addition to already defined action and filter hooks one can even add his hooks – action and filter which other plugins or themes can use. So have fun while hooking into WordPress.
5. Unit Testing
From a technical perspective, it’s about writing additional code to test your functions or modules in isolation. It involves passing in input data for different scenarios, boundary conditions and ensuring that the output or returned data is always as expected. The function under test is cut off from the rest of the system. It is different from an integration test where we test how components or functions work together. When you introduce new changes, you only need to run your previous tests. What worked before should continue to work and you’ll know immediately if it didn’t.
Write self-documenting code. Pay attention to variable, function and class names. Don’t make any complicated structures, like cascades that can’t be read easily.
It’s a cliche that developers don’t like to write documentation. It’s the most boring part of the development process, but a little goes a long way.
Another way to document code is to use the “doc block”, which is a comment for every file, function and class. If you write how the function works and what it does, it will be so much easier to understand when you need to debug it six months from now. WordPress Coding Standards covers this part by forcing you to write the doc blocks.