How to Make a Useful WordPress Plugin

Making a WordPress Plugin is one thing – making a USEFUL WordPress Plugin is another thing. In this first ‘How To’ video series, I sit down with Michael De Wildt to discuss his tips and tricks on the subject. We broke the process down to the following 5 easy steps and provided insight on each one:

1 – Find a Need
2 – Build
3 – Let It Loose
4 – Support It
5 – Promote It

Have you built a WordPress plugin of your own? Do YOU have any advice on the topic to add in?

JGB: Hello, Sitepointers, Jess here, and I’m meeting with Michael De Wildt today. He’s going to teach us how to create a useful WordPress plugin. He works at 99designs, in the same building as us here, let’s go have a chat with him now. Come on. So you’ve created a WordPress plugin, have you?

Michael: Yes.

JGB: And what was that called?

Michael: WordPress Backup To Dropbox.

JGB: What does that do?

Michael: It backs up the WordPress Dropbox.

JGB: Very straight-forward. So what kind of background skills do you need to get started? If you’re interested in making a plugin, where do you start? What do you need?

Michael: Well, obviously you need to know about WordPress, and having WordPress Plugin is probably a good start. And then from there you need your PHP skills up to scratch, and a good product focus and you’re good to go.

JGB: So, step number one is going to be ‘find a need’. How did you go about finding a need for your plugin?

Michael: It happened quite organically. I had a blog that was hacked some time back, and I realized at that time that there was a lot of information on there that wasn’t being backed up adequately. And that’s something I kind of wanted to manage myself. Searching the plugin directory on WordPress, there are some solutions but nothing really that was easy to use, and that kind of annoyed me, because I like to get something up and running in all of five minutes and be done with it.

I figure most people who use WordPress are in the same sort of boat. So, based on the results, I pretty much came out with the need to have a go myself to create something that focuses on being simple, just like Dropbox, I suppose. It focuses on being simple, so yeah.

JGB: Step two then is going to be building. What can people expect in this stage?

Michael: Well, obviously you’ve got to know your requirements. WordPress is apparently around about 20% of the web, but it is an old piece of software, and I wouldn’t say it’s the nicest written API to use in the world, and that’s being nice. But, yeah, what it comes down to is you look at who the users are going to be, and the users are going to be people who use shared hosts, so they’ve got low server resources. They’re probably using an outdated version of PHP. I think PHP 5.2 is still the one that’s quite common on most shared hosts.

And all these sorts of caveats are going to catch you up if you try and build something that’s an old friend, and uses all the new technologies that use a lot of resources and things like that.

Once you realize that those requirements are there, then you have to sort of scale back any crazy ideas you have in order to be fit for purpose, which is WordPress.

JGB: So, step number three then is going to be, let it loose. How do you do that? What do you have to do?

Michael: You’ve got to put in the WordPress Plugin Directory, which is sort of an organic self-managed, I suppose, App Store for WordPress. Once you get in there, if it is something that people will want to use, people will download it and try it out. But you’ve got to understand, in my experience, WordPress users are very fickle. They’ll download it and if it doesn’t work instantly, they’ll move on to something else.

So, you try to get people to sort of give you feedback on what you’re doing, and it’s a hard thing. It sort of comes in to supporting it, I suppose, which is the next step.

JGB: Step number four is a really important one – support it. What do you have to do to support it?

Michael: Well, that’s a very interesting one, and a very much important one, like you said. As soon as your plugin gets momentum in the WordPress Plugin Directory, which is quite similar to an App Store, if you will, for WordPress.

And people will start to use it, and the non-fickle ones that move on very quickly will take the time to complain. And these complaints shouldn’t be taken as a bad thing. They should be taken as a challenge to make your plugin better for more people. A lot of them are not very well formed, so you get something like, “The plugin just does not work.” And you need to be good at asking questions of the user, to say, “Hey, what are the reasons for this? What are your server settings? What are your PHP versions, your WordPress versions? What are the plugins do you have installed?

These things clash. I mean, I fixed a bug the other day that was completely a random plugin that was causing mine to not work, because of the open nature of WordPress it makes things hard–very hard. But, yeah, all these little things are challenges for you to get it working for that one user. You focus on him, get it working for them, and hopefully they’re chafed about it and they go tell their mate that your plugin works quite well, and it goes on from there.

It’s definitely a hard one, but you focus on the forums, and the emails. So you’re going to get emails coming through and obviously the forum posts, which are part of the WordPress Plugin
Directory, and you go from there.

JGB: Step number five, then, is going to be to promote it – throw it out there. How does that work?

Michael: Well, we’ve already got it in the Plugin Directory, so that itself is a promotion, if it is hitting a need and it’s easily searchable, like WordPress Backup to Dropbox, in the Plugin Directory. If you’re talking backup, it comes up in the first page, and that’s what you want, things like that. From there word of mouth is your best friend. I think if you’ve got something that has hit a niche and a need, and you’ve already developed it well people are going to use it, and if it works people are going to happy. And the more people you get it to work for, the better it’s
going to be. You know, make it look professional, too.

So, in the WordPress Plugin Directory you can have a page that looks good. You can have like a little splash screen up there, make sure your FAQ is up-to-date, make sure you’ve got a nice amount of information there that sort of tells everyone exactly what it does, and how it’s going to work for them. The next step after that is just to do a generic landing page for it, like I’ve got, it’s
WPB2D.com, which is a Google searchable term so people can search Google and say, “I need to backup WordPress, the Dropbox, and it comes up in there and it’s a bit of marketing spill off to the WordPress Directory. Everyone’s happy.

JGB: So there we have it, a recipe for a useful WordPress Plugin. If you need to back up your website, you should check out WordPress Backup to Dropbox. This has been Jess Genevieve Brown with Michael De Wildt for Sitepoint.com.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.mattearly.com Matt Early

    When creating a plugin should you be accessing the database using regular php commands, or should you only ever use the wp codex? Matt x

    • http://wordpress.org/extend/plugins/allow-html-in-category-descriptions/ Arno Esterhuizen

      Hi, Matt

      Although it might be easier to use the regular PHP commands, if the database structure ever changes your plugin could break. It is safer to use the API documented in the codex.

      Cheers
      Arno

  • http://www.surftown.se John Evance

    Great post guys. Been trying to creat my own plugin for quite a long time now. Hopefully I will succeed.