Say what? A child theme? But that sounds like something that’ll make my site look like it was drawn in crayon with a bunch of backwards letters. Hah! If only WordPress were that adorable…
Okay, let’s take a step back. Many WordPress websites are built using themes, which is just another way of saying “templates designed by a third party”. Using one of these pre-made themes is arguably the easiest way for a novice to build a website that looks good without having to write a single line of code themself.
But, as is the case more often than not, eventually the theme you picked will need to be tweaked or customized a bit to align itself with your ultimate vision. So, let’s assume a non-developer uses a theme to do, say, 75% of the heavy lifting before hiring another novice to complete the remaining 25% of the project.
Looks great! So, uhh… What’s the problem?
The problem is you just lost a game of hide and seek to the world champion. This problem will hide silently, and indefinitely until the day that shiny “theme update” button pops up again. If you didn’t take a full backup of your site before clicking that “update” button then it’s probably time you invest in a box of Kleenex.
When you click that “update” button what you’re really doing is overwriting the core files for your theme with whatever new code the theme developer wrote. So, if 25% of your site was running on custom code you paid someone to write AND it wasn’t place in a child theme, then you probably just nuked their work. Kaboom!
This is where child themes come in handy. Think of the parent theme acting as a shield for the child theme, protecting it from any updates.
If all of your custom code has been placed within a child theme it’s protected. So now, whenever you update your parent theme, the changes made within the child theme will persist.