WordPress Theme DeveloperSo you want to get started developing WordPress themes? Here’s what you need to know to be a successful WordPress theme developer.

What kind of chops do you gots? If you have never developed a WordPress theme and are looking to get started there are many ways to learn… but it largely depends on your current knowledge, expertise and skill-level.

A Little Background

Today was WP Watercooler Episode #69: Getting Started in WordPress Theme Development. This topic is awesome to discuss because when I was starting off with developing themes I went down a number of wrong roads. If one person learns how to code WordPress themes more efficiently after watching the episode then mission accomplished.

… You can watch the Watercooler Episode Here:

Who was on the show? Awesome people. Here’s who attended the show:

  1. Steve Zehngut @zengy – Awesome guy, always gives great talks at WordCamps and runs the kick-ass agency Zeek
  2. Carrie Dils @cdils – A super smart Gal who spoke at WCSF13 and was great. She’s in love with Genesis (and her dog).
  3. Suzette Franck @Mt_Suzette – World record holder for most WordCamps attended (and probably spoken at). Nuff’ said.
  4. Sé Reed @sereedmedia – A regular around the WordPress scene is SoCal and beyond. She isn’t afraid to speak up and dish out gobs of WP knowledge.
  5. George Stephanis @daljo628 – It was my first time meeting George, but I’ve heard his name before. Here’s his bio: WordPress Core Contributor, Jetpack Pit Crew, CSS Guru, jQuery Fanatic, HTML5 Aficionado, Letterpress and Carpentry Nerd.
  6. Jason Tucker @jasontucker – A main man behind WP Watercooler and the know-all man for digital media
  7. Nikhil Vimal @techvoltz – I wish I had this kids focus when I was his age.  My first impressions of him are he’s well spoken and knows his stuff.

Tips on Getting Started in WP Theme Development

Frontend GeekTo help determine where you should start on the road of becoming a rock star WP theme developer it’s important to first gauge your programming skill level.  Have you ever worked with any programming languages? Are you frontend or backend oriented? Perhaps you’ve never programming a thing in your life. These are all important considerations.

For the Total Beginner – Never Touched a Piece of Code

Here are what I believe are the foundation languages all good WP devs should know: HTML, CSS, JS, and PHP. And here’s why:

  • HTML – It’s the backbone of the web and you can never expect to build a website without knowing it.
  • CSS – Simply put: it makes HTML look pretty. Your theme will rely heavily on CSS to stand out above the crowd.
  • JavaScript – Knowing the basics of JavaScript is important. I’m going to admit that I’m no expert with the language but with websites relying so heavily on JS it’s important to know how to work through it in case you run into bugs.
  • PHP – WordPress is built using PHP and in order to interact with the CMS you will need some PHP chops. Thankfully there are a lot of great resources to learn this wonderful language.

Learning Resources

There’s no reason why you should have to spend mucho dinero on classes at a college when today there’s so many awesome resources online. Here’s a few I use and can vouch for:

Nearly all of the sites above have free sample courses that you can take to get a feel of the teaching style. As well, most of them are interactive so you can really feel like you are programming and learning by doing.

For the Programmer, Just  Not WordPress… Yet

So you’ve been a programmer for awhile now but have never built a theme before. Perhaps you have a new client that’s requesting WordPress and you’re ready to jump in and experience what everyone’s been yapping about. Awesome! Here’s what I believe you should consider.

Frontend or Backend?

Frontend VS BackendYou can use your programming skills to your benefit no matter whether you are a frontend or backend developer. If you are backend oriented than you’ll love WP_Query – familiarize yourself with it and how to interact with the WordPress database. Remember, the WordPress Core is not for touching, same goes with plugins. Leave them alone. Hooks in WordPress are your friend. Since we are talking about theme development, you will need to become familiar with CSS and JavaScript. It’s very important to building a solid theme.

The frontend developer will already know how to chop up sites from concept to HTML. But you should also become more knowledgeable with PHP. As well, check out the theme template hierarchy to understand how WordPress theme templates fit together. I think it’s important to know more than just a little to be considered truly well-versed with WordPress. You could probably build a decent theme knowing a little but the more you know, the better.

Learn by Doing

monkey-coderThe best way to learn how to do something is by doing it! This holds true with developing WordPress themes. Purchase some simple PSD concepts from ThemeForest and try building them out yourself into a WordPress theme. Don’t start with a design that’s super complex, but something simple like a full-width header, main content area, sidebar and footer.

These days everyone wants a responsive website. And if you expect any success with theme development you should be building themes that are responsive also. Frameworks like Twitter Bootstrap and Foundation can help you with this but really all you need to know are how @media queries work with CSS and practice, practice, practice.

You should expect things to break. But remember, everything on the web follows the logic written in your code. Sure, IE can get a little crazy sometimes, but it’s getting better. If something doesn’t look or function properly, there’s a reason for it and 99.9% of the time it can be fixed.

Planning is Super Important

I always like to have a solid Photoshop concept completed for the homepage and several interior pages before ever touching a bit of code. This allows you to visualize the site and its functionality prior to touching code. Making updates to designs is much faster than having to recode it. Once you get comfortable with WP theme development you can take a look at in-browser design but for now I recommend sticking to the tried and true method of Wireframe > Concept > Code. I even like to take pencil to paper and sketch out my wireframes before ever doing anything on a computer.

Please Remember

Here are some final tips I have in conclusion:

  • The WordPress Codex is your best friend
  • Learn by Doing – Don’t be afraid to break stuff. Don’t work on a live site (no cowboy coding).
  • Don’t start with a pre-build “Premium” theme (from themeforest etc.) – Starting off with a prebuilt theme and trying to hack it into something your own is a bad idea. There’s no guarantee the theme you’ve chosen is up to WP standards and it could just confuse you rather than encourage good development. I suggest using a starter theme framework like Underscores. I use Roots but it’s not really geared for first timers.
  • Develop Locally – I spent years cowboy coding until I found the light. There’s no reason why anyone can’t be developing locally with tools like MAMP, XAMP, and ServerPress (I highly recommend ServerPress)
  • Learn from the Community – WordPress is known for having a huge base of knowledgeable and friendly people. There’s most likely a WordPress meetup or WordCamp in your area. Check them out and keep going. Learning from people who do WordPress everyday can put you ahead by leaps and bounds.

What do you think?! Share your 2-cents below and let me know what you think about getting started with WP theme development.

Devin Walker is a San Diego-based WordPress Developer and enthusiast. He is the author of several popular and highly-rated WordPress themes and plugins. In his free time he enjoys playing Golf and traveling.

Follow Devin:

2 Responses to “Getting Started in WordPress Theme Development”

  1. Amit Kolambikar

    Nicely written article! I will be releasing my first premium theme soon

    Reply
  2. Krzysztof Lipski

    Good one, I’ve just made my new optional theme here jukarii.eu

    Reply

Leave a Reply