“I found out there was no child theme included. Dang! Now I have to create one!”
This is how we all sound when we have to create a child theme. There is really no rocket science to the process of creating child themes, but as a front-end fanatic, I always look for the best practices.
Today when I had to create a child theme, I thought of creating a boilerplate first, by DRY (Don’t Repeat Yourself) philosophy. So, there you go, a WordPress child theme boilerplate was born, and the only parent (me) chose to call it _child.
How to Stuff?#
There are only two files in _child. Which are
- style.css which has a tag template for the parent name
- functions.php which enqueues the style.css of parent theme and then style.css of _child
Style.css#
Inside _child’s style.css, there is nothing but a comment for WP to read it as a theme. At line #7 there is a template tag, which you need to replace with the folder’s name of your parent theme.
Functions.php#
This file is a bit interesting. There’s a function called aa_enqueue_styles
() which is responsible for enqueuing two style sheets.
- First of all, I enqueued the parent theme’s style.css file
- Then I enqueued the child theme’s style.css with parent-stylesheet dependency, to ensure that the child theme stylesheet loads after the parent’s one.
If you have any questions, let me know.
_Child WP Child Theme Boilerplate#
It lives at GitHub under a tree called GPL license. Start it, fork it. Pull requests are welcomed!
Download v1.0.0 — Star or Fork
P.S. _child is an open-source theme, which means anyone can send pull requests to enhance it and make it better. My friend Matt Cromwell recently contributed to _child in the form of a branch called cleanup, _child in this branch dequeues and deregisters parent theme’s sidebars, widgets, post_types, and scripts (JS & CSS). Thus the name is cleanup.
P.P.S. A few beginner developers requested this gif on how to clone the _child boilerplate.
Fahad
Thanks for the post.
Q. What if I have made tons of changes (that go way beyond style.css) in my theme without making a child theme? Now the developer is offering an update because its a premium theme but I can’t do it.
Any solution other than doing the whole stuff again.
Ahmad Awais
Nope there is no solution, except fo you stripping out those changes and making them work with a child theme.