Best practices – Should I create a child theme vs. customizing a framework theme? (such as HTML5 reset)

The base question is:
Do you intend to upgrade the HTML5 reset theme in the future, and if so, would you like your themes to inherit that functionality? If so, then a child theme is the way to go. If not, then constructing a new theme is the way to go. Personally, I avoid child themes unless the purpose is specifically to have substantially the same functionality as the parent theme, but with slight modifications.

I find myself in the same situation you’ve described – in that I create many themes, and what I have done is to create a solid “base” theme that I use as a starting point, then add to – just as you’ve described you do.

I’m not a fan of child themes because they add a bit of overhead. While I’m sure some will argue with me on this (php is handled on the server, and therefore the overhead is minimal), I hold fast to my position. WordPress is fantastic, but one of it’s vulnerabilities is the tendency for users to create what I call “bloat” – adding many plugins to a site, which adds code – code that is often written by unknown coders who’s security concerns and efficiency of coding could be questionable. Child themes contribute, albeit in a small way, to this code bloat. From the WordPress Codex “Instead, [the child theme’s functions.php file] is loaded in addition to the parent’s functions.php. (Specifically, it is loaded right before the parent’s file.) “ . And, if you look at the way styles are handled, you are importing the parent theme’s styles, then adding/overwriting with your own – which does not make for the smallest, most efficient css footprint (which will have an effect on download speeds).

So, to recap based on what YOU are doing: when you create a new theme, evaluate the primary reason to use a child theme – to capitalize on the functionality of the parent theme and to preserve upgradeability for your child theme through the parent theme. If you don’t need to preserve the ability to upgrade, your theme will be more efficient if you create a new theme instead of a child theme.

Leave a Comment