What is a Child Theme?
Previously, whenever a theme needed updating, users would have to locate all the changes they had made to the theme, back them up, and then reapply them after completing the update. This was a time consuming process with a lot of room for error. The idea of using parent themes and child themes originated out of the need to keep customizations intact despite updates or any other changes to the original theme.
Every child theme is created on the basis of an original parent theme. The child theme inherits the functionality and features of the parent theme. However, the changes made to the child theme are stored separately. The customizations made to the child theme also override the original coding of the parent theme. In the end, there are both advantages and disadvantages to using this concept.
All changes and customizations made to the child theme stay intact even after upgrades. Any code that is part of the child theme automatically overrides the code from the parent theme.
The parent theme is protected from any changes or errors in coding. If there are any problems, it is easy to fall back upon the parent theme.
If you choose a parent theme with a basic framework that is well designed, robust, and has the features you are looking for in a theme, it saves a lot of time with the coding and testing that usually goes with creating a theme from scratch.
It is important to know the parent theme well, before starting to customize it. Learning a new parent theme involves an initial investment of time in order to make use of the theme’s full potential. This learning curve of familiarizing oneself with someone else’s theme puts some developers off using an existing theme framework.
Another possible drawback with using someone else’s theme framework is that the developer may stop supporting the theme or abandon it altogether. This can be avoided by choosing a commercial theme. Or else, it is a good idea to go for popular themes. In that case, even if the developer drops the ball, there will be a community of people already using it, who usually step up and keep it going.
There is the possibility that the theme provider may issue an update to the parent theme that you may not like. There is always the option to avoid updating; however, that is not a recommended option, especially if the update addresses any security flaws. Those updates are necessary and should be applied as soon as possible.
Child themes should be used when you want a customized theme based on the framework of an existing robust theme. If the changes are few and minor, they can be applied with the help of plugins or a .css file without the need for creating a child theme. On the other hand, if the customizations are fundamental and so many that you find yourself changing the core files of the theme, then you are better off with a different theme or creating a new custom theme.