Last Wednesday, I had the honor of speaking about WordPress theme frameworks at the Topanga WordPress Meetup group.
So I thought I’d share a summary of what was covered, as it is awesome information I’ve yet to cover on this blog.
Along with Nick Jacob, we covered:
- What a theme framework is
- Why theme frameworks are useful
- Which theme frameworks I use
Let’s dive into each.
What a theme framework is
The technical definition of a theme framework from WordPress.org is:
- A “drop-in” code library that is used to facilitate development of a Theme
- A stand-alone base/starter Theme that is intended either to be forked into another Theme
- A Parent Theme template
But I liked the analogy Nick used. He said to think of WordPress as a car. The WordPress software itself is like the engine, transmission, etc. On top of that, you have your theme framework, which is like the frame of the car. And finally, you have your child theme, which is the paint job of your car.
Now, you may ask, “How is a theme framework different than a theme?”
Well, technically a theme framework is a theme. But it is built in such a way that it is easily customized and extended, allowing you to build your own custom theme on top of it.
Why theme frameworks are useful
Using a theme that is built upon a framework has many benefits, both for a developer and an end-user.
As an end-user, you’ll find that your custom theme is upgrade proof. If you’ve ever hired someone to customize a theme for you and they made the changes directly to the theme, when you upgrade that theme, you probably noticed the changes disappeared. When you use a theme framework, customizations are not made to the framework itself, but to the child theme that sits on top of the framework. When you perform an upgrade to your theme, only the framework is updated. So you won’t lose any customizations.
Furthermore, many frameworks have communities built around them that contribute to the framework. For instance, the Genesis framework (which I’ll discuss in a moment) has a bunch of plugins and child themes already built for it. The Genesis Simple Edits and Design Palette Pro plugins lets you make small customizations to your site without using any code.
Now, from a developer’s standpoint, frameworks really start to shine.
If you are building a custom theme, you can build that theme from scratch. But, it is a lot of extra work. Instead, you can start with a theme framework and build on top of that. You’ll be able to build your custom theme faster and easier. Plus, because the major code is contained in the framework, you won’t have to worry about updates to the theme; the company behind the framework will usually release updates for you.
The framework I use
As you can probably guess (since I already mentioned it), I am a huge Genesis framework user. It’s from a company called StudioPress, part of the extremely popular Copyblogger group.
Almost every theme I build for clients, I build using the Genesis framework. It offers all the best qualities of a theme framework I mentioned earlier, is coded extremely well, and has an amazing support team.
Plus, there is an awesome community around the Genesis framework. In addition to the plugins I mentioned, you’ll find tons of code snippets available. For instance, there are these code snippets from StudioPress as well as Greg Rickaby’s.
You’ll find that many of these code snippets work with hooks. That’s because Genesis was set up in a way that you can change almost any aspect of the framework using simple actions and filters.
I highly recommend you check out Genesis and the child themes available from StudioPress.
Have questions about theme Frameworks?
Feel free to ask me any questions in the comments below.
DISCLOSURE: I may be an affiliate for products that I recommend. If you purchase those items through my links I will earn a commission. I never let my affiliate status affect my opinions. It’s just one way to help me keep offering awesome articles and tutorials for free.