A WordPress child theme is one that inherits the main characteristics of the parent theme. This is just the same as your children will inherit your major characteristics while still displaying their own individuality. It enables you to create a website using WordPress that is unique to you, not only in its content, but also in its functionality.
The concept of child and parent themes has resolved a major problem experienced by those who were dissatisfied with WordPress themes and tried to customize them to meet their own needs. That was the problem of updating. When a theme was updated, perhaps to conform to an updated version of WordPress or perhaps for some other reason, all the custom styling would be lost. All your hard work in customizing your WordPress site would be lost. Child themes avoid this.
What is a WordPress Child Theme?
So what is a WordPress child theme exactly? Fundamentally it is a theme that you can develop for yourself using a ‘WordPress theme framework.’ Examples of such frameworks include Thematic, Genesis and Hybrid – each of these names suggesting the capacity to be changed to something else – that something else being child themes.
To set the record straight right away, just so there is no misunderstanding of terms, making a change of header to a WP theme such as Twenty Twelve is not the same as creating a child theme using Genesis. A header change is simply using WordPress as it was intended to be used. A child theme involves something much more fundamental as you are about to find out.
Using a Theme Framework
It is possible to create a child theme from most WordPress themes by creating the necessary directories and files in the wp-content directory. However, if you are not careful what you do you could have all your hard work ruined at the next update. If you have the coding skills to achieve this you will likely not be reading this article!
It is safest to use a WordPress theme framework such as one of those mentioned above. Such frameworks contain hooks and filters that enable you to design a good website that will conform to any future theme updates. You can also create robust WordPress sites in much less time than if you created a child theme from scratch.
The Benefits of Using a WordPress Child Theme
- You can avoid irreversibly damaging your site by using a WordPress child theme. Even the largest mistakes will not affect your parent theme.
- You cannot lose files: your original files are those of the parent.
- You have no need to understand how to use FTP clients or understand how the directory system of your website works. However, knowledge of this will help in speeding up transfer of your files to your WordPress site.
- If you select the appropriate theme framework, you can create a series of child themes enabling you to design a large number of inter-related websites all with the same functionality.
- You can learn very rapidly how to generate multiple unique websites for clients using just one framework. This significantly reduces your learning curve and enables you to meet client orders much faster than if every site had to be constructed by hand.
- A good theme framework will have a bunch of professional coders continually improving it, and offering expert support in the event of problems.
- You will benefit from updates to the parent theme without having to recode all your child themes. This will enable you to more easily keep your websites fresh and conform to improving standards.
Disadvantages of Using a Child Theme
The only real disadvantage is that learning curve. You need to learn hooks and functions that are used by parent themes. Once you get proper knowledge of parent theme structure then you can easily create child theme using any sample child theme provided with Parent theme.
Another disadvantage could be that support of the framework might be abandoned and it may not be maintained to current standards. However, if you use genuine WordPress theme frameworks, then this will not become an issue. WordPress tends to upgrade its themes rather than abandon them!
More on WordPress Upgrades
You will be able to survive WordPress updates because the changes you have incorporated into your child theme are held in a separate files rather than in the same parent theme directory. If a new feature is introduced by WordPress, it is applied to the framework – the parent of your child theme. When you upgrade, your child adopts all the changes immediately.
Let’s take a human example to explain this more clearly. It’s as if your parents were given new eyes with night vision included. As their child, you would immediately be able to see in the dark! Nothing else changes. If your parent could suddenly play the violin like a master, you could too. That’s the parent-child relationship. You enjoy any new feature added to the theme framework that is the basis for your WordPress child theme.
Doing it Yourself
It is possible to create a DIY child theme if you are good at coding. However, you only need to get one character wrong and it will all fall apart. If you are an expert coder, then fine – but if you are an enthusiastic amateur then be very careful. It is far easier to use a framework than try to recode an existing theme.
That is just one reason among many for using a WordPress child theme. However, as we shall conclude, it is sometimes unnecessary to do this and often a normal WordPress theme will do.
If you feel a need to significantly modify WordPress themes to suit your personal needs, then it is usually better to create a WordPress child theme using a theme framework. Significant alterations should not be carried out on standard themes because they can be lost when the theme is updated or even if there is an upgrade to WordPress itself.
However, before creating child themes, make sure you really need them. A custom CSS plugin can often enable you to make the changes you require, or you may even be able to change the relevant CSS stylesheet manually. However, where you find you have the need to overwrite the core HTML or CSS of the parent files, then a WordPress child theme would be the logical route to take.