Sometimes you hear the words framework and child theme in relation to WordPress themes.
What are they, and what do they do?
There are two main types of programming that make up a theme. The first tells WordPress what to do, and the primary programming language is called PHP.
The second tells WordPress how to look, and it’s known as CSS.
Until recently, all were combined into one set of theme files. Combining them often causes problems, though.
In the past, if you made changes to the theme — maybe you wanted text to be a different size or color, or you added a special background, or you customized the homepage — you could lose all that hard work. Your changes would be completely wiped out when you updated your theme to a newer version. You’d have to go back and make your changes all over again.
The solution isn’t to continue running an old version of the theme, because that carries a different set of problems.
A few years ago, some smart people realized that it made a lot of sense to separate the design (CSS) as much as possible from the PHP. Here are just a few of the reasons:
- Easier Updates
- Cleaner Code
- Easier troubleshooting
The solution was to provide a theme framework (also known as the parent theme) and a child theme.
The Theme Framework
The framework provides the guts of the theme. Generally it’s usable out of the box as a standalone theme, but it’s bare bones.
It’s got no fancy bells and whistles, no special homepage layout, but it contains all the working parts.
You can use it all by itself to create your website, but it’ll look pretty plain. Here’s what the Genesis Framework looks like all by itself. (Genesis Framework and the other themes described below are all from StudioPress, with whom I have an affiliate relationship.)
The Child Theme
That’s where the child theme comes in.
At its most basic, the child theme consists of one file, called the Stylesheet. But it can be a lot fancier.
The child theme can contain instructions for setting up a homepage that looks like this. It’s the Authority Pro theme from StudioPress, and the homepage features pretty much whatever you want it to.
Or how about this one? Infinity claims to be “stylish and modern,” and it is, with a hero image at the top of the homepage, and the ability to use widgets to configure a homepage in dozens of different ways. (Maybe hundreds. I haven’t done the math.)
Now you can make all the changes you want to the child theme, and when you update the framework your changes aren’t touched at all.
The important thing to remember when you’re using a framework and a child theme is that both must be installed. The child theme will not work without the framework.
Is having a Framework and Child Theme Absolutely Necessary?
No. One of the theme designers I recommend, Elegant Themes, hasn’t gone that route. Their themes work well, they’re stable, and they’re attractive. They’ve found a different way to handle the update issues.