Home/ Journal Bens Projects Binary Moon Archives About Ben Gillbanks Subscribe to Binary Moon Updates

Subscribe to Binary Moon Website Updates, it's Free and Easy to Stay in Touch

Search Binary Moon

Search Binary Moon

6 Tips to Build Better WordPress Themes

If you want to make WordPress themes, for clients, to release for free or to sell, then there are a lot of factors you need to take into consideration. Below are some hints and tips that should help ease your development process.

1. Think Like a User

If you are building a theme for yourself, or for a client, this isn't quite so relevant, but if you're building a theme to sell (such as my themes on Pro Theme Design), or a theme to give away (such as my theme Regulus) then you need to consider how people will be using your theme.

I find the theme checklist on the WordPress Codex very handy for making sure you've covered all the bases, and Hafiz from WPLover has a cool interactive WordPress checklist.

2. Include JavaScript libraries the 'right' way

This is probably not the most important thing in this list but it is the thing that prompted me to write this article.

I had seen a tutorial explaining how to create a WordPress theme and it included jQuery, in the site head as an include. That can work fine for your own website but things quickly get sticky when you use WordPress plugins. Many plugins rely on jQuery so also include the library - thankfully most do it the 'right' way. With wp_enqueue_script().

3. Use built in WordPress functions wherever possible

Websites like WPEngineer, Cats Who Code and Digging into WordPress all feature handy (and very clever) hints and tips for manipulating WordPress content - and that stuff can be really helpful - but wherever possible it's always better to use functionality built into WordPress.

The reasons for this are many, but the primary advantage is that any changes, bug fixes, and speed enhancements made to the WordPress core will automatically be carried over to your theme... and you don't have to do any extra work!

4. Widgetize everything

This might sound a bit silly, but the more areas you convert into widgets, the better.

Gone are the days that your users will edit the PHP themselves to add some extra descriptive information... and anyway, it's probably not where they want it.

Widgets put the power in the users hands, and gives them the opportunity to create the site they want. Additionally it removes (some of) the burden of support from you.

Check out the websites below for information on setting up widget bars in your themes.

5. Include all the standard WordPress functionality

This ties into point 1 but if WordPress advertises a feature on their website (threaded comments, widgets, etc) then people will expect them to work in any theme they chose to use.

This means you should either include them, or prepare for lots of requests from people asking you to include them.

6. Test, Test, Test

Things can and will go wrong. Something I would be really interested to see is some sort of unit testing system for WordPress. I've found a few testing systems but currently there's no easy way to automate it. However WordPress is a very flexible beast - which is great from a users point of view, but also means that users will often come up with combinations of settings that you hadn't considered and so they break your theme.

Just Do It

Building good quality, free, themes is a great way to build brand awareness and gain recognition in the WordPress, and even the web design, community. However it's a double-edged sword. For some reason people who use free themes are more demanding than those who pay you to develop a theme.

Following the rules outlined above will help you improve the theme functionality and reduce the support requirements - it's a win for everyone.

12 Responses to “6 Tips to Build Better WordPress Themes” Leave a reply ›

  • Thanks to link to our project WPEngineer.
    Best wishes

  • Using widgets is awesome. But coding for them is not very easy and fast. When I want to add something to sidebar (which is widgetized), should I create a widget? Or I just put a simple some PHP code in sidebar.php file? I think developers often choose the 2nd way, while beginners - 1st way :D . But if we make a website for clients, of course - 1st way :)

  • I'm speaking at WordCamp Chicago in June on theme standardization and best development practices. Would you at all be interested in working with me on it?

    I've collected a list of articles to pull material from, but it seems like you're actively thinking about this topic. If you'd like to contribute (and of course, be credited as a co-author), please drop me an email. Thank you in advance!

  • Excellent tips. I especially agree with #4 and #6 in that you need to make it easy for people to utilize widgets as well as the testing aspect to make sure your theme works from a functional and design standpoint.

  • Aww... I nice, refreshing post to inspire me as a traught forward in developing my latest WordPress theme for Theme Forest. Good work.

    The jQuery thing is what hit me over the head. Your little tidbit about that got me to Google around and learn more about that, and now I feel like an idiot including jQuery just like any other website. Figures WordPress would have that built in already!

  • Once I was told, provide translation-ready theme so the theme could have a much wider audience and feedback.

  • The wp_enqueue_scripts thing is really handy, and great for making sure your theme works with all plugins

Leave a Reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

About me

About BenMy name is Ben Gillbanks. I'm a lover of Video Games, WordPress, Web Development and everything in between.

I have been working on the internet since 1998, and working with computers even longer. I am a hardcore Nintendo fanboy and have owned most of their consoles at one stage or another.

Read more about me on my about page.


Follow Me


Random Link-outs

The Binary Network links to all my websites
bengillbanks.co.uk - Ben Gillbanks

Ben Gillbanks

All my websites under 1 roof, the easiest way to find out what I do

Pro Theme Design - premium WordPress themes

Pro Theme Design

Premium WordPress themes by web design pros (erm... that includes me)

Binary Joy - gaming news and reviews

Binary Joy

Gaming news and reviews

Binary Sun - play free online games

Binary Sun

Play and download free and paid games (many made by me)

Gaming Angel - download and play games online

Gaming Angel

Stacks of shareware games, free to try and cheap to buy