You probably know what a theme is. It is essentially the design of your WordPress site. It controls what your site looks like. OK, got that part.
But, what about a theme framework? What the hell IS a theme framework? And, how is it any different than a regular theme?
I’m going to answer that in this post. And, in the process, maybe shed some light into why I decided to switch to a framework like Genesis from my custom theme I had been using for years.
Two Approaches To The Same Thing
You control what your blog looks like using a theme. And, you’ve got two different ways to approach that:
- Use a standard theme.
- Use a theme framework, often with a child theme.
A standard theme is where all the design components AND any programming necessary to power that design are all part of the same package. And, if you’ve got a custom theme, that means your theme probably uses some custom PHP programming to power certain things. It is all part of the theme, and all the files for it sit in a single folder.
A theme framework works a little differently. A framework essentially SEPARATES the bulk of the programming from the actual design. Almost all of the programming that makes the site do what it does is part of the framework, whereas the design itself contains only minimal programming in order to, essentially, turn features on and off in certain places. The design layer often comes in the form of a child theme.
Because the framework is a separate layer from the design, this means:
- The framework is upgradeable without screwing up any customizations you’ve done to your design.
- The framework usually comes with a bunch of capability built right-in. This means the designer can simply tap into those capabilities using MUCH shorter code, rather than re-inventing the wheel by having to custom code functionality right into the theme directly.
What This Means In The Real World
Most of the themes you’ll see out there for WordPress are just that – themes. Anything that makes that theme do what it does is baked right into the theme directly. Some of these themes have options panels where you can set things like logos, color options and things like that – but all that is just code baked into the theme. It isn’t a framework. If they ever update that theme to do cooler things and you’ve already customized your site, you would overwrite any work you did.
With a framework – especially the good ones – they’re often adding new capability to the framework over time. These capabilities make the design process easier and give you new capabilities that you may not have had before. And, being that it is a framework, you can slip in the upgrade and you WILL NOT screw up the design of your site or any customizations you made.
Also, when it comes to customization, working with frameworks is usually a LOT faster. As I said before, frameworks come with a lot of functionality baked right in – things that you’d have to code yourself if you were working with a single-layer theme. As a designer, you can simply tap into the framework.
If you’re used to doing things with standard themes, it will take a little getting used to working with a framework. It is a bit of a paradigm shift. But, once you get the hang of it, it is a LOT faster and you can implement great looking WordPress sites much faster using a framework.
And, as an end user, it makes things easier, too. For instance, what if you want a full-width page with no sidebar? If you aren’t using a framework, then you’d need to set up a custom page template. With a framework like Genesis, you just choose the full-width option as you make the page. No geekery required because that capability is built right into the framework.
There are a lot of frameworks out there these days. I decided to go with Genesis, but there are many others such as Thesis, Catalyst, Carrington, etc. Even WooThemes is using their own framework called WooFramework.
I’m now recommending Genesis, as that’s what I chose personally and I only like to recommend those things I’ve tried myself. And, I think Genesis is fantastic.
Now, if you go with a free or cheap theme, chances are you won’t be using a framework. It will be a standard theme. Customizing it will be more difficult and you won’t be able to upgrade anything without a geek at your side. Even some of the nicer premium themes like those from Elegant Themes aren’t using a framework. They have an ePanel built in which gives you many options, but it isn’t a true framework.
If you’re serious about the foundation your blog is built on – and you want to make your life easier moving forward – I would recommend you select and use a theme framework.
One last thing to note…
If you’re thinking of switching to a framework, this doesn’t mean you have to change the look and feel of your site. Because design and code is much more separate when using a framework, you can make your site look like anything you want. If you want to keep your site the same as it is now but slip a framework in there, you can. You’d have to make a child theme which looks like your current blog, but you can do it.
If you have any questions, you can find me below in the comments section.