Having just created and submitted my first WordPress plugin, I thought I’d go through the process. And I have to say, WordPress don’t make it easy.
Assuming you have your plugin written and tested, you first need to submit it to WordPress for them to create a subversion repository (basically an archive where you can store it).
- Make sure you’re signed up (and signed in) to WordPress.org and head over to the Developer section within the Plugin Directory.
- From here, there’s an option named “Add Your Plugin“.
- You need to enter the name and description of your plugin and, optionally, a link to it.
That’s it for that. Now you need to wait for WordPress to send you a link to your repository.
Meantime, you need to create a
readme.txt file to go with your plugin. This will not only be bundled with your download but will be used for your plugin entry on the WordPress site. What I didn’t know is that these files, although plain text, have a special markup language within them.
- WordPress provide an example, and I just took this and modified it appropriately.
- There is also complete documentation on the markup language used.
- Once you’ve written it, you can validate it.
So, now you have your plugin, a valid
readme.txt and, hopefully, a repository URL from WordPress.Now it all got a lot fuzzier.
The WordPress instructions lept straight into a load of unexplained commands, not explaining, amonst other things, that you need SVN installed to use these. I came across another blog which recommended installing TortoiseSVN, which has a GUI interface. I did this but soon found the instructions on this alternative blog didn’t match what I was seeing (possibly a different version of TortoiseSVN?).
What I did was to use the Repo-browser context menu option. This provides you with a drag-and-drop interface to your repository (you use the URL that WordPress supplied plus your WordPress.org username and password). Head back to the WordPress site instructions on ensuring that you place your files in both the “trunk” and create another, versioned, copy under “tags”.
Once this was done my WordPress plugin page sprang to life, taking its details from my
And that was it.