This morning I felt like a bit of coding, and something that’s been on my to-do list for a while was to update my Child Theme Wizard plugin. It’s been making over 10.000 users happy since 2013.
The main reason for the update was to update the compatibility flag with WordPress 5.1 – it was already compatible with the latest version, it just wasn’t explicitly set. On this occasion I found a couple of other items I could improve upon:
updated the link to the WordPress Codex about Child Themes
verified compatibility with WordPress 5.1
updated social media links (added YouTube and Patreon, removed Google+)
added theme version to query, as suggested in WordPress Codex
The last item was new to me and doesn’t make a difference to how your child themes are created, however since the Codex suggests to create child themes this way, I thought I’d better follow best practices.
And one final thing I’ve streamlined was the code itself, both in the plugin and in the generated code. It’s now a bit more spaced out, improving readability and updatability (if that is in fact a word).
I’ve released a new version of my popular Child Theme Wizard plugin today. Everything remains the same, except for one thing: the parent theme is no longer loaded via CSS, it’s now being loaded via PHP. Let me explain why.
When I wrote this little tool in 2014, the best practice to create a child theme was to load the parent’s style sheet via CSS. This was done with an @import statement, like this:
While this approach works just fine, this is no longer regarded as the best approach to the puzzle. That’s because the parent theme’s full path is hard coded into your child theme, and should the parent theme ever change it’s folder name, your child theme would stop working.
There’s a better way to get the same thing done by loading the parent style sheet via PHP in the functions.php file. Here’s how it’s done:
I’ve just finished writing a new WordPress Plugin to help you create Child Themes with a single click, and no need for any external tools.
The Child Theme Wizard is a super slim assistant which can be accessed under Tools – Child Theme Wizard. Pick a Parent Theme, enter additional information, click Create Child Theme and you’re all set!
Child Theme Wizard allows you to enter the following details:
You can pick any existing theme that is currently installed, and you won’t be able to choose other child themes as parent themes (obviously). Child Theme Wizard will even pre-populate some of the data if it’s available from your Profile Information.
You can choose to include the GPL License to make your theme ready for Open Source Distribution. It even creates a thumbnail so you can tell your Child Theme apart from your other themes.
What does Child Theme Wizard do?
To create a Child Theme you have to
create a directory on your server
create a file called style.css
paste template code and tweak it
make sure you get your template path right
add an empty file called functions.php
add a screenshot.png file to make it look pretty
This usually requires an FTP client with credentials, as well as a text editor, or another web interface – in short: it’s much more tedious and time consuming than it really needs to be. Child Theme Wizard does it all conveniently from within the WordPress Admin Interface with a single click.
Why do I need to use Child Themes again?
If you make any modifications to the CSS or functionality of existing themes, and you’re tweaking core files, your changes will be overwritten if your current theme is updated with a new version.
Child Themes however isolate your changes into dedicated files. The Parent Theme can be updated safely and your tweaks remain intact.
Watch the video
In this video I’ll show you Child Theme Wizard in action:
v1.0 (13/03/2014) – Initial Release
I’d like to include the following features in future updates:
o option to support custom thumbnail uploads
o export theme option
o add translation
Download and Contribute
Child Theme Wizard is available from the WordPress.org repository. You can download it simply by searching for “child theme wizard” under Plugins – Add New and following the instructions. Or you can download it here: