You’ll hear it all the time.
Framework this, and WordPress Framework that. However, I’ve noticed that for a lot of people, the idea of a framework is sort of confusing.
What is a framework? Is it different from a WordPress theme? Is it the same or different than a Parent theme? And, what the heck are WordPress Parent/Child themes anyway?
There are all great and valid questions, and I’m going to do my best to break down the answers to them.
What Is A WordPress Framework?
According to the WordPress Codex, there are two meanings of what a WordPress Framework is:
(1) A “drop-in” code library that is used to facilitate the development of a Theme; (2) a stand-alone base/starter Theme that is intended either to be forked into another Theme, or else to be used as a Parent Theme template.
That’s the official term for what a framework is, but I realize that you’re probably looking for a better answer.
The first type of framework mentioned in the definition above is the more complicated framework of the two. This is generally something that people who are looking to build (or develop) a WordPress theme will use to help speed up the theme building process; it’s not a stand alone, functional WordPress theme and thus not what most would call “user-friendly” – in fact, it’s not even a theme… yet.
From my experience, though, when the average WordPress user is inquiring about a WordPress Framework, they are usually unknowingly referring to the second definition – a base or starter theme.
Most people who are inquiring about a framework are looking at fully functional WordPress themes – a great example of this would be the Genesis Framework.
However, there tends to be some confusion between a Framework, and a Parent theme.
Is There A Difference Between A Framework and A Parent Theme?
To answer the question above, yes, there is a difference, but it’s slight; however, those differences still find a way to be confusing.
Here’s the way that you’ll roughly have the difference between a Framework and a Parent theme explained:
Every WordPress theme can be a Parent theme, but not every Parent theme is a Framework, however, almost every framework is a Parent theme.
The reaction to that explanation: Wait, what?
Well, I’m hoping to demystify that definition.
So how are these two things different?
To understand this, it helps to put things in real life terms. When you think of the framework of a house, what do you picture? For me, I picture a house that has the structure built, but really nothing else – no roof, no siding or paint, no sheetrock. Nothin’. What does that mean? It means that that home has everything it needs to become your home, but it’s up to you to make it LOOK how you want it to.
A Framework is pretty much the exact same way, only better.
It is the STRUCTURE of your theme, and it can look however you’d like it to. The only upside to a framework is that even though the visuals of the theme look a little barren, the power and functionality are more then you would get from the average theme.
How is a Parent theme different from a framework?
You could illustrate it like this:
Every person has the choice to become a parent, but the choice is their own.
So, while a framework is almost always constructed to go hand-in-hand with a Child Theme, a parent theme can work as a stand alone theme without a child theme; however, a child theme can be created to work with it as well.
If you’re wondering what a child theme is and how they actually work with a parent theme, then I suggest you take a look at Disha’s blog post about it. She does an amazing job covering the topic.
Now the question is, why would anyone work with a framework?
Why People Choose To Use Frameworks, and Why The Idea Behind Them Is Important
There are a couple reasons behind using a framework, and those reasons are worth adding to your knowledge bank.
If you’re a WordPress designer, or your a developer, and you’re looking to speed up your designs and thus make more money, then frameworks are a godsend. Trust me. You don’t need to start from scratch building a theme, and you don’t have to spend hours learning the backend and code of each new theme that a client drops in your lap to change.
Learn one framework; make more. Simple as that.
Not only that, but most frameworks are pretty awesome, which means that you’ll be building a delivering a quality product. (It’s all about pride in your craft.)
The second reason is probably the most important reason.
A framework (by the second definition) is great because of the automatically comes with advantage of working with a Child Theme – a vital WordPress practice that too few utilize.
I don’t want to expound on the topic too much, but trust me when I say that these pairings are invaluable and that you should consider using a child theme for your WordPress theme. Not convinced? Well, let me just touch on a 2 areas that explain why this is important:
1. Parent/Child themes help keep your WordPress site from resetting your CSS edits after an update (this happens more than you know)
2. Child themes often come with separate PHP files that allow to integrate additional functionality into the site that won’t get lost in an update
Do you like wasting hours of your life that you’ll never get back? No, you don’t. No one does. But that’s usually what eventually ends up happening when you make a ton of manual CSS and PHP additions or change to your site when you don’t use a child theme.
The WordPress Codex lists a few frameworks – both that of the Code Library options and the other that I mentioned in this post as well. I suggest you check them out.
So what about you? Do you love, or hate frameworks? Let us know your thoughts.