I chose WordPress Plugins as my introduction to serious development and contributing to an open source community. This page contains notes on the things I learned through the process. It might be helpful to those who have a plugin idea, but don’t no much about programming.
Before You Begin
Do you have an idea?
If not, find one.
A good first plugin should probably be small and manageable so that you will be able to develop it without too much headache.
Is your idea any good?
It’s good to start simple, but if your plugin has no purpose, you will likely give up when things get difficult.
So pick something that is easy, but will also help people (especially yourself) use WordPress a little bit better.
Do you actually know what your goals are?
I have a lot of problems that I know must have solutions somewhere, but the answer isn’t always apparent until I figure out what I am actually looking for.
When you start developing your plugin, you will likely find multiple ways of accomplishing nearly the same thing. You might get distracted trying to implement something that looks good but is really complicated. You might waste weeks coding something that isn’t actually going to work the way you wanted.
Avoid as much of that as you can by making a list of your goals beforehand. Figure out what the plugin must be able to do, and what you can live without.
Learning About WordPress Development
Before you start designing your plugin, it’s a good idea to learn how WordPress works. Some good resources are WordPress Core Contributor Handbook and the Plugin Handbook.
Design
Development
Documenting Code
Testing
Release
In for the Long Haul
Congratulations! You have successfully released your first WordPress plugin. In just a few moments (the Disney people like to say that because it doesn’t actually tell you how long) people will be able to download and install your plugin on their website.
But your work is not done.
Support
Building a Community
If your plugin becomes important enough to people, you will want to facilitate a community around your plugin. This doesn’t need to be as big or complex as the WordPress community. But if you are dedicated to maintaining your plugin (or want to have people to pass it on too), then you should have some basic communication channels for your project.
While you might not have a GitLab Installation, reading Managing Open Source Projects might offer some insight into how I choose to manage my open source projects.