If you want to customize the look and layout of a WordPress website, a child theme is recommended. One can be made manually, but these free plugins make it easier. Let’s see how they work.
You may be wondering: What is a child theme and why do you need one? First you need to understand what a theme is. A theme is what makes a WordPress site look the way it does. It defines the colors used for text, the fonts, menus and other things. It can add features like image sliders on the home page and other widgets, it determines where text, images, menus, headings and other items are positioned on the page and how they look.
A theme is basically the detailed instructions on how the content of a web page should look. It would be great if a theme did everything you want, exactly as you want it. However, this is not always the case and sometimes you wish you could change the color or style of some text like a heading, move the position of an element, like an image or title, increase or decrease the space around something, choose a different font, set a background colour and so on.
Themes do mostly what you want, but there are always tweaks that people would like to make. You may be able to do this from within a theme.
Customize a WordPress theme
Some themes are very customizable and if you go to Appearance > Customize, there may be options for choosing colors, fonts, layouts and so on. Click each item in the list and see what options are available.
Some themes are highly customizable and have a lot of options, but others offer few features in the customizer. The Twenty Twenty-One theme, which comes with WordPress, has very few options for changing anything. You cannot even choose the font to use for the site’s text or the color of the anything. The size and style of of headings cannot be changed, and so on.
Where customization options are available, and there are many with some themes, they are very useful and you should check out the customizer in WordPress and see what is there.
Why use a child theme?
A theme specifies the design, including the layout, colors and styles of a website. A child theme enables you to add extra items or to change existing design elements. It’s like, do everything in the parent theme, but then apply these tweaks listed in the child theme. (Technically, it works the other way around, but let’s not get bogged down in technical details.)
For example, if a theme uses black text on a white background, you could over-rule this in a child theme and specify white text on a black background, applying a dark mode to your site. If links are blue, you could make them red. If headings are Comic Sans font, you could make them Arial or whatever you want.
Pretty much anything on the site can be changed with a child theme, although it has to be said that a fair amount of technical knowledge is required for many things.
Being able to change colors, fonts, styles, layouts and so on isn’t the main benefit of a child theme, it is that all your changes are stored in the child theme, not the parent theme. A child theme is like your personal list of tweaks to the parent theme.
If changes are made to a theme, they are lost when it is updated. If changes are stored in a child theme, they are unaffected by updates to the theme. If you decide you don’t like a child theme, delete it and WordPress goes back to using the parent theme.
Some tweaks to WordPress may require you to add a function or some code. It can be added to the child theme so you aren’t hacking the main theme files and possibly making a mess of them. A child theme can be deleted or reset if things go wrong, which puts everything back as it was in the original parent theme.
Create a child theme
If you have good technical knowledge of WordPress and coding, you can create a child theme yourself. See these Child Themes instructions at the WordPress website.
To summarize them, create a folder on the server in wp-content/themes with whatever name you want to call your theme (filename rules apply). Then create two files, one called style.css and another called functions.php. These are the WordPress child theme minimum files. The contents of these files are provided at that link above.
That’s it. Go to Appearance > Themes and your child theme appears alongside all the other themes that are installed and can be activated and used. When your new child theme is selected, you will see no changes to your site because you have not yet added any tweaks or changes to it.
Manually creating a child theme is not for novices or for those that dislike coding. It is easier with a WordPress child theme plugin. There are several good plugins that will do the job just by clicking a button and filling in a few basic details like the name you want to call it.
Child Themes Generator
Child Themes Generator has 40k active installations and is the second most popular plugin of its type. Simplicity is its main feature and it could not be simpler.
Go to WordPress Settings and click Child Themes Generator and there are two tabs, one for creating child themes and one for deleting them. Fill in the details like which parent theme you want to create a child for, the heading, author, and so on, then click the button at the bottom. Job done.
Removing the child theme deletes the file and sets the parent theme as the active one. There is really nothing to it and anyone can create a child theme. Of course, the child theme does nothing until you add your tweaks to it. Once the plugin has created a child theme, the plugin can be deactivated or deleted. It does not affect site speed.
Child Theme Configurator
Child Theme Configurator is the most popular plugin by far and it has 300k installations. It provides more features than some other child theme creators, but this also means that it is better for technically minded people rather than non-technical WordPress users.
It adds a Child Themes item to the Tools menu in WordPress and when it is selected, it shows a three-step process. Select the action, select a parent theme, then analyze it.
Analysis is instant and it shows whether a theme is OK to use with a child theme. It also warns that some themes, such as those from ThemeForest, may contain items that do not work with the free version of the plugin. A paid upgrade may be needed for some themes, but many should be OK with the free plugin.
There are some technical details and options and these are why the plugin is so popular with users. Non-technical people can simply ignore the technical details and accept the default settings, which should work fine for most people. However, if you know what you are doing and have the technical knowledge, advanced options can be configured, like using a primary or separate stylesheet, the type of parent theme stylesheet handling, and theme attributes.
There are more options once a child theme has been created and there are options to configure an existing child theme, duplicate a theme or reset one back to its original state, should you mess it up. You can view baseline styles from the parent theme and styles in the child theme, add code for web fonts and CSS, and copy files from the original theme to use as templates.
These advanced features and functions do not have to be used, but it does make creating and managing child themes look complicated to non-technical WordPress users. It is excellent if you do have some technical knowledge though.
Child Theme Wizard
Child Theme Wizard is very similar to Child Theme Generator. It is accessed through the WordPress Tools menu and it presents a simple form to fill in, like the parent theme to use and a few basic details like the title, description, author and so on. You then just click the Create Child Theme button.
There’s nothing to it really, but it gets the job done.
Childify Me is almost completely devoid of options and features and is the plugin I liked the least. After installing it, enter the customizer at Appearance > Customize. A button at the bottom of the sidebar enables you to create a child theme from the current theme.
The only thing you can enter is the name and there are no other features. It uses an outdated code method that is not recommended.
It worked, at least on the themes I tried, but I would use one of the other plugins.
If you know a bit of coding and are familiar with the way that WordPress works, you can create a theme manually. For non-technical users, Child Theme Generator is very easy to use and straightforward. If you have a bit of technical knowledge, Child Theme Configurator offers more features and functions for experts.
Creating a child theme is easy. Doing something with it is not. What sometimes happens is that to add some extra feature, you are asked to insert some CSS code or a function in WordPress. To do this, go to Appearance > Theme Editor and click either Stylesheet or Theme Functions on the right to load the code into the editor. Add the extra code or function to the end of the file. It is a lot safer and easier to do this with a child theme than a parent theme.