Do I Need a Child Theme?
You do not need a child theme if you like how your WordPress theme looks “out of the box” and you never plan on editing any of your WordPress theme’s files.
If you want to make changes to the look and feel of your WordPress website by changing elements such as fonts, colors, spacing, etc., then the answer is maybe. You might need a child theme. Then again, you might not.
If you want to change your WordPress theme substantially, then the answer is yes. You definitely need a child theme for your WordPress website.
First Off, What Is a Theme?
Before you can understand what a child theme is, you have to understand themes in general.
A WordPress theme is a collection of files that determines the look, feel and function of your WordPress website.
WordPress themes are created by really smart WordPress developers for end users like you and me. That means we don’t have to know any programming or coding languages. The hard work is already done for us.
Our job is simply to shop around and choose a theme we like. It’s kind of like shopping for new furniture for your living room. But it’s actually more fun than that, because many WordPress themes are completely free.
Being able to choose a professionally coded theme and use it without having to know anything about programming or coding is one of the many things that makes using WordPress so fun. End users like you and me can now create highly technical websites without knowing anything about websites at all.
So What Is a Child Theme?
A child theme is simply a modified version of a parent theme that inherits the functionality and styling of the parent theme. If you’re going to modify a parent theme, use a child theme!
A parent theme is simply any WordPress theme that can function without a child theme. Sometimes you’ll hear parent themes referred to as frameworks.
Many, if not most, WordPress websites run without a child theme. A WordPress website does not need a child theme to work.
Why Might I Need a Child Theme?
Child themes serve one purpose.
The purpose of a child theme is to preserve changes made to your WordPress theme’s files.
Sounds simple, right? That’s because it is. Let me give you an example of how this works.
Say you install a parent theme. Let’s say you install Stargazer. (I’m using Stargazer as an example
because that’s the parent theme I’m using for this very website. It WAS the parent theme . . . now I’m using Baskerville 2.)
Say you want to change the way the sidebar looks. In order to achieve the look you want, you spend a few hours editing some of your theme’s files. Now your sidebar looks perfect! You are happy and all is well with the world and your website. Your hard work has resulted in a newly modified sidebar.
The next day, when you log into your WordPress dashboard, you see that an update has been released for your theme. You run the update and, whistling a tune, go on with your day.
Later in the day, you visit your website to admire your handiwork on your sidebar. Surprisingly, your sidebar looks like it did when you first installed Stargazer. Confused, you hit the refresh button. The sidebar still looks like the original sidebar. All the work you did on your sidebar seems to be gone. In fact, it is gone.
You know you can re-create your work because you did it once before. But it took you a few hours and now you’re going to have to re-do it. That’s frustrating. And you can’t really remember all the changes you made because you changed a bunch of things on a bunch of different files. So you’re going to have to re-research and re-figure things out all over again.
It’s like the time I typed up a research paper only to have my computer crash. All that work–gone. Stupid. Annoying. Irritating. Inefficient.
So what happened?
What happened is that Justin over at Theme Hybrid updated Stargazer, your website’s theme. And you ran that update. And when you did that, all your theme’s core files were over-written, meaning all your changes were wiped out. Your theme is back to its default state.
A child theme prevents such disasters from happening.
So, Do I Need a Child Theme?
Let’s elaborate on the three answers I gave to this question at the beginning of this article.
You do not need a child theme if . . .
I said you do not need a child theme if you like the way your theme looks “out of the box.” That’s 100% true if you don’t plan on editing your theme’s files. But if you do ever decide you want to edit your theme’s files, be aware! If your theme gets updated you will lose those changes.
You might need a child theme if . . .
I said you might need a child theme if you plan on changing your site’s colors, fonts, spacing, etc.
Changing the items mentioned above means you’ll have to make changes to your WordPress website’s style sheet. That mean’s you’ll be editing your website’s core files.
You most definitely need a way to preserve your change in the event of a theme update, so why am I saying you might need a child theme?
I’m saying you might need a child theme because there is another alternative — something that’s easier than creating a child theme. And that something is Jetpack’s Custom CSS module.
If you plan on editing your WordPress website’s style sheet, your two choices are:
- create a child theme or
- use Jetpack’s Custom CSS module.
Creating a child theme can be complex and is beyond the scope of this article. I will, however, explain the use of Jetpack’s Edit CSS module (in a moment) because it’s exceedingly easy and will greatly increase your ability to change the look and feel of your website.
If you’re intent on creating a child theme, contact me and I’ll help you through it.
You definitely need a child theme if . . .
If you plan on substantially changing your WordPress website (making changes to files beyond the style sheet), you most definitely need to create a child theme.
Here’s an example of why I need a child theme for this website. I want folks to be redirected to a different page upon completion of the contact form. Jetpack is set up to issue a quick “thank you” message without a redirect. In order to create that functionality, I had to edit my site’s functions.php file.
I didn’t want to simply go to Appearance –> Editor and start editing the functions.php file that way, because I’d be editing the theme’s core files. As described above, that would be a huge mistake. Upon a theme update, my changes would all be lost.
So because I needed to edit theme files (other than my style sheet) to implement desired changes, I need a child theme for this website. I’ve also made some changes to my header.php file, my subsidiary.php file, etc.
Because I’ve created a child theme, when Stargazer (my website’s parent theme) is updated, none of my changes will be lost.
How to Use Jetpack’s Custom CSS Module
If you want to start getting your hands dirty with a little CSS editing (editing your WordPress website’s style sheet), you can use Jetpack’s Edit CSS module.
Jetpack’s Custom CSS module works like a child theme in that it preserves any changes made to your WordPress website’s style sheet. So if you use the Custom CSS module for all your CSS edits, you won’t have to worry about losing your changes when your theme is updated. That’s some pretty useful functionality. For some folks, it will be all that’s needed and they’ll never need to create a child theme.
To use Jetpack’s Custom CSS module, simply hover over Jetpack (in the sidebar of your dashboard), then click on Settings.
Then make sure the Custom CSS module is activated.
Then hover over Appearance in your dashboard’s sidebar, then click Edit CSS.
Once you’ve done that, you’ll come to Jetpack’s CSS Stylesheet Editor. On this page you can add whatever CSS you want to the page and it will change the look and feel of your WordPress website!
Child Theme Summary
As you can see, you may or may not need a child theme for your WordPress website. If you don’t plan on editing your theme’s files, you don’t need one. If you plan on editing your theme’s style sheet, you need either a child theme or Jetpack’s Custom CSS module. If you plan on editing files other than your theme’s style sheet, you need a child theme.
Of course, you can ignore all this and tweak your website’s files and everything will be OK. But upon a theme update, all your work will disappear in a twinkling and you’ll be back to square one.