I’m knee deep building some new WordPress themes at the moment but am coming up for some air to throw out a question to all you WordPress theme building pros – How do YOU approach building WordPress themes?
When I first started building websites Geocities was the platform of choice for anyone who wanted a hosted platform for managing their website if they didn’t have a shared hosting account. If I remember correctly, most shared host accounts also offered about 20MB of disk space and writing a contact form in PHP3 was about as exotic as it got! WordPress wasn’t even a glint in Matt’s eye at that time 🙂
Things have changed quite a bit in the past decade but one thing that still fascinates me to this day is how people approach building websites in general. Now that WordPress is maturing into a really powerful publishing platform I’m sure lots of people are developing pretty slick and rapid approaches to building WordPress powered websites.
Here’s the thing.
At first glance making WordPress themes looks dead simple. And in one way it is. A bit like learning chopsticks on the piano. Stick me in front of a piano and I’m pretty sure I’ll figure that out in a couple of minutes. Does that make me a pianist? Of course not! Can someone who has never built a WordPress theme hobble one together in a couple of hours from reading one of the countless tutorials online? They sure can! That’s the good news. Getting started is easy. I think it’s one of the biggest strengths and attractions to new designers and developers to the WordPress ecosystem – low low barriers to entry. Does that mean you can become a WordPress theme development expert overnight? Well just like the piano – not on your nelly! It’s these same low barriers to entry that have led us to the place where there are some downright awful, poorly coded, shoddy and downright dangerous WordPress themes out there. Sometimes this gives people the impression that WordPress itself is a shoddy piece of software – and nothing could be further from the truth. It also leads fans of competing open source publishing platforms to look down upon WordPress as a platform for newbies and hobbyists rather than a serious publishing platform for hardcore professional designers and developers. The truth is – it’s both. Just like the Piano is for those who aspire to playing nothing more than Chopsticks AND for those budding maestros who want to master the classics.
Given all this diversity, there’s lot of ways to go about building WordPress themes. A few obvious approaches I see:
- Fireworks/Photoshop->HTML/CSS/JS->Custom theme from scratch
- Fireworks/Photoshop->Theme Framework->CSS
- HTML/CSS/JS->Custom Theme (or framework)
- Theme Framework
Approach 1 (Fireworks/Photoshop->HTML/CSS/JS->Custom theme from scratch) would be the most conventional process that would have been prevalent in professional web agencies since the dawn of the web. For many agencies and freelancers it’s still the method of choice – especially when clients need to be involved in the creative process. This kind of approach is also time consuming. Very time consuming. Especially if you are building a custom theme from scratch. In my view, this approach is going to quickly die off in the coming months and years. I can see it happening already. Which brings us to approach 2.
Approach 2 (Fireworks/Photoshop->Theme Framework->CSS) is quickly accelerating as being the smartest way for getting WordPress sites built quickly and professionally. You still undertake the creative/UX process that is still the preserve of web agencies across the globe but you do so on the knowledge that you will be plugging in the output of that process into a predetermined WordPress theme framework. This approach has lots of benefits. First you have some sensible defaults and constraints. Sometimes a blank canvas can be a bit scary when building a WordPress theme. With a framework you have something to start from. You’ll also benefit from a solid foundation for plugging a design into. There are still plenty of skeptics knocking around though. Some people just don’t get theme frameworks. They see it as being a little bit odd and not what they are used to at all. It’s worth persevering and coming breaking this mindset – trust me – the benefits are worth it.
Approaches 3 and 4 are pretty similar. Some talented developers and designers don’t need the comfort canvas of Design production applications like Fireworks and Photoshop – they just dive straight into coding up the theme right within the theme or theme framework itself. This approach does not work for me at all. I end up going around in circles and getting no where fast. I need my paint by numbers canvas from photoshop 🙂 I’d love to be able to do this though as I’d imagine my process for theme building would become much faster.
So how do you build your themes? I can’t wait to hear about how you approach theme design and development!