To Use Child Theme or Not to use Child Theme in WordPress?

Posted in Articles

Tweet This Share on Facebook Bookmark on Delicious Digg this Submit to Reddit

When customizing the theme of WordPress, the question of whether to child theme or not to use child theme is a developer’s judgement call as every situation is different.  Personally, I prefer not to use child theme.  Rather I would clone the “parent” theme and give it a new theme name.

The drawback is that this would mean that you will not be able to “update” the parent theme when a new update comes out.   You would need a developer to code merge the new theme features into the cloned theme if you ever need to do that.   But updating theme is not as important as updating core.  There is less of a security risk (if any at all) for not updating themes.  In fact, you can not update theme at all if you choose.

That is the main attraction of the use of child theme.  The claim is that you will be update the parent them without affecting the child theme.  And the child theme would gain all the new features of the parent theme.   While this sounds good in theory and it is true in most cases (especially when child customization is slight); in the wild when there are lots of advance customizations made to the child theme, it is certainly possible that update to the parent theme will break the child theme.   Perhaps “break” is too strong of a word.  But rather it affects the rendering and style of child theme enough that a developer would still need to go into the child theme and fix the look-and-feel.

The drawback of using child themes is inefficiency.   WordPress has to look in the parent theme directory as well as the child theme directory.  It has to include both the parent css and child css (which are two separate files requiring additional http connections).   As noted in the wordpress codex, child theme often uses the CSS @import which is a hit on performance.   Use of child theme requires the developer to write additional CSS rules in the child to override the parent’s CSS using CSS cascade of rules.  Not use of child theme, you can alter the rules directly, usually means less CSS rules and less the rules have to cascade/override.

While it is unknown how much slower the use of child theme is (probably not noticably slower in most cases), I can not see any scenario where the use of child theme would be faster than not using child theme.