How To Create A WordPress Plugin From Scratch

how to create a wordpress plugin from scratch

Creating products is a great way to increase your streams of income.  There are so many different kinds of products you can create in the world of Internet Marketing, and that is what makes this business so exciting.  There are thousands of ways to make money and endless possibilities.  As I type this right now, people are coming up with new ways to make money and new ways to market products online.

Since WordPress is so huge and so popular, creating and marketing plugins is a great way to not only make money but to also get some exposure to your brand.  And if you are a WordPress user, you have likely at one point or another had this thought:

“I wish there was a plugin that does THIS”


“I like this plugin, but I wish it did THAT too.”


“I like this plugin, but it’s just too buggy and not very easy to use”

These are the thoughts that lead to a new product and a new way to make money online.

So in this post I’m going to go over some steps to take when creating your own WordPress plugin, and also some things to keep in mind.

Find One Problem

So you work with WordPress alot right?  I’m sure you do.  Everyone loves WordPress, and I’m not an exception.  Most of our sites are on WordPress.  It’s easy to use, easy to customize, and looks great.  And let’s not forget about the plugins available.

There are thousands of plugins out there that do all sorts of stuff.  Believe it or not, plugins are still coming out every single day because there are just so many different types of blogs, webmasters, and markets out there that there is ALWAYS some plugin that can be developed that will make a task easier, make a site look better, make conversions a little better, or make some technical task easier to do.  The list goes on and on…

Not to mention, there are always plugins coming out that IMPROVE upon a plugin that already exists or just does something a little different. 

Just look at all of the plugins out there for backing up your blog or for your on-page SEO.  Most of them generally do the same thing, but some have more features and some have less.  Some are free with little support, and some are paid with full support.  Some do just one thing very well, and some do a lot of things pretty well.  I think you get the picture.

That brings me really what encompasses what you need to do to create a WP plugin:  Find a problem and solve it.

Perhaps there isn’t a plugin available at all for what you want to do.  In this case, you will come up with a brand new concept and be the first to come out with anything like it. 

Coming up with a brand new idea is the first way you can create a plugin.

Or perhaps you are working with a plugin, one is popular for a particular task, but it just doesn’t do a few things you want.  Or it’s difficult to work with.  Or it’s not supported.  Or it’s buggy.  You can completely redesign the plugin to do what you want and how you want it, and improve upon the shortcomings of the plugin.

For example, let’s say you are working with a plugin that make it easier inserts tables into your blog.  It works, but not very well.  It’s clumsy and buggy and the task still takes longer than it should to do. 

Take that same concept, which is adding tables into a blog, and design a new plugin that does it better.  Make it easier to work with and less buggy.  Give better support.  If you do this, people will use it.

So taking an existing plugin, and making it better is the second way you can create a plugin.

Find The Solution

I already got into this a bit, but this part is pretty self-explanatory.  If you are developing a concept that hasn’t been done before, then this part will be more tricky because you don’t have a plugin to look at that already does the task so you can use it as an example.

So if it’s a brand new idea, just use your experience with plugins to imagine how it will work.  What exactly will it do?  How will it make the webmaster’s life easier?  How will it make the site look better?

If you are taking an existing concept, and just making a better plugin, what will be better?  Will it be usability?  Functionality?  Features?  Support?  Make sure you plugin stands out completely from the plugin that already exists for that task.  There is no sense in creating a plugin that does something another plugin already does, unless you are sure you are making it MUCH better.

Design It

This part will take some time, and will certainly take a little while if you are new to it.  You can use wire frame software to design the plugin.

Here are two pieces of software we use.  They are both good and both have free trials.

Before you use design it with the software, you might want to take a large white board if you have one and start brainstorming some designs.  If you don’t have a whiteboard, just use some paper.  Yes, even in this age of technology Internet Marketers STILL use paper believe it or not.

Find A Programmer

This is probably the hardest part.  Scratch that.  This is definitely the hardest part.

If you have never tried to hire a programmer before, then maybe this is a surprise.

If you have tried to hire one, then I KNOW that this is NOT a surprise.

Sites you can use to find a programmer:

Rent A Coder

Do’s and Don’ts of Hiring a Programmer:


Make sure you are absolutely sure on what you want before you start to look for a programmer.  You don’t want to be half-way through the project or near the end only to realize you forgot something.

Make sure your wire frame is easy to understand and has plenty of explanations.

Your features have to be explicit.  Don’t assume that the programmers will ASSUME what you want.  Be SPECIFIC about EVERYTHING.

The programmer should have experience in WordPress plugins

Read through their feedback on Odesk or Elance or whatever you are using from previous people that hired them.

Interview them on Skype and if possible over the phone as well.

Make sure you tell them upfront if you expect support after the plugin is complete.  Once it’s done and you’ve found all the bugs possible, you will want to release it to the public.  And chances are that they will find bugs too.  Tell the programmer if you want the price to include, for example, 30 days of support for more bugs after you release to the public.

Pay them in milestones.  I would recommend at least 4 milestones.  For example:

    • First payment a deposit
    • Second payment after design is complete
    • Third payment after coding is complete
    • Fourth payment after testing and bugs are complete.
    • Fifth payment after 30 days of support after you launch it.

Also something else to keep in mind about programmers:  MANY will give you a low offer when first working with you.  And then when you want to update your software or change something, they really increase their price.  They do this because they know it’s easier to work with them and you would rather not have to look for a new one.  Be sure to hold your ground and get a fair price for your new versions and updates.  Make sure they know you have no problem going elsewhere to find another coder.


Don’t pay full price upfront.  Don’t even pay half upfront.  If you are working with them for the first time, I wouldn’t recommend you pay more than 15% up front.  Even though you are protected by Odesk and Elance if they don’t complete their work, there is nothing worse than the hassle of chasing down programmers who disappear.  Don’t tie too much money into that hassle.

Don’t hire someone without any feedback, even if they are very inexpensive.  You don’t want to waste your time and money being the one to experiment with a new programmer.  If you are experienced with outsourcing already and this is not your first project and is a fairly easy job, then maybe you can risk a new coder without feedback just to save a few bucks.  Otherwise, stick to the coders that have feedback.

Never allow too much time to go by without updates.  You should be upfront and clear when you hire the programmer about how often you expect to be updated.

Paid or Free?

Well, this one is tough.  In my opinion, it’s best to have both a free and paid version.  Have a free version with valuable features, and then a paid version with even more features or enhanced features.  There are many ways you can play around with this.

Or you could simply create a free version and use it as a lead-magnet.  People love plugins, so having a free one that is desirable is a great way to build your list.

Other Things To Think About

You will need an ecover created.  You can find various ecover designers on Odesk or Elance, or you can use Fiverr as well.

Also, make sure you think of a good name.  Just go over to the Warrior Forum Special Offers if you want to look at some names to get your creative juices flowing.


Here’s How We Did It

When we created Page Expiration Robot, it was out of need.  We wanted a plugin that allowed for pages to expire on a visitor-by-visitor basis because we knew they would be more effective that way.  So when we present a one-time offer to a customer, we tell them they have 30 mins to purchase.  If they come back after 30 mins, the offer will be expired or different.  And sure enough, if they wait and come back they will see a different offer or see that it expired.

Now we put a great deal of time and money into the plugin, but we still wanted to be able to offer a free version so we could include it in the WordPress directory and also so we could offer it for free to generate a list.

So we came up with a good solution…The free version would allow the functionality of the plugin, but the paid version would make it much more effective.  Basically the free version was good and valuable, but the paid version was definitely better.  It’s a win-win-win-win :)

So if and when you decide to delve into the world of WordPress plugins, I hope this stuff will get your gears grinding and provide some insight so you don’t make the same mistakes that John and I made.  And we made alot!

Did you enjoy this article?
Get Free Updates

About Bill Zimmerman

If you want real online marketing tips and tools, you are in the right place! I enjoy building businesses in the online world and helping others do it as well. I've been doing it since 2008 and love every minute of it. I love the freedom and the creativity and strive towards high levels of passion and leadership every day.

2 Responses to “How To Create A WordPress Plugin From Scratch”

  1. Very well!

    Great job Bill, I liked that idea of developing new wp plugins without being a programmer.

    I am planning to create a plugin of my own. Plan behind the plugin is; post to many. Either the plugin tweet to many twitter accounts or to multiple social bookmarking sites.

    I know this kind of plugin is available but I haven’t seen one that tweets to more than one twitter account.

    If a blog is run by 5 people and all are having their followers, this kind of plugin will keep their followers updated everytime one of the contributors posts a new blog.

    You can give some advise if you can :)


    S A Rahman

Leave a Reply

Current month ye@r day *