What Is a WordPress Child Theme and Why Should You Use One?
If you have ever customised a WordPress theme — tweaking the CSS, editing a template file, adding functions — and then run a theme update only to find all your changes wiped out, you have experienced the problem that child themes solve. A child theme lets you make any customisation you want to a parent theme while keeping those changes completely safe from updates.
Understanding child themes is essential knowledge for anyone who wants to modify a WordPress theme beyond what the Customiser offers. This guide explains what a child theme is, how it works, and how to set one up — even if you have no prior development experience.
How child themes work
A WordPress child theme is a separate theme that inherits all the design and functionality of a parent theme. When WordPress loads a page, it checks the child theme first for template files and styles. If the child theme has a custom version of a file, that version is used. If it doesn’t, WordPress falls back to the parent theme’s version. This means you only need to include the files you want to override in your child theme — everything else comes from the parent automatically.
When the parent theme receives an update, only the parent theme’s files are overwritten. Your child theme — which sits in its own separate folder in wp-content/themes — is untouched. Your custom CSS, modified templates and added functions all survive the update intact. This is the fundamental benefit of the child theme pattern.
What you can customise in a child theme
You can customise virtually anything in a child theme. The most common use is overriding the parent theme’s stylesheet: create a style.css in your child theme and your CSS rules take precedence over the parent’s styles. You can also override any PHP template file — copy the file from the parent theme into the same path in your child theme and modify it freely.
The child theme’s functions.php file is particularly powerful. Unlike other template files where the child’s version replaces the parent’s, both the parent and child functions.php files are loaded, with the child’s running first. This means you can add new functions, hook into actions and filters, and register custom post types without modifying the parent at all. It’s the cleanest, most update-safe way to extend a theme’s functionality.
Creating a child theme
Creating a child theme manually takes only a few minutes. In your wp-content/themes directory, create a new folder named after your parent theme with -child appended (e.g. astra-child). Inside that folder, create a style.css file with a header block that declares the Theme Name and the Template (the parent theme’s folder name). Then create a functions.php that enqueues both the parent and child stylesheets using wp_enqueue_scripts.
If you’d rather not do this manually, the Child Theme Configurator plugin automates the process and copies across any styles you have already customised in the parent. Once your child theme is created, activate it in Appearance > Themes. Your site will look identical to before, but any edits you make going forward are stored in the child theme and are safe from updates.
Common questions.
Do I need a child theme if I only use the WordPress Customiser?
Will a child theme slow down my website?
Can I use a child theme with a page builder like Elementor or Divi?
More on web design & ux.
Want a hand putting this into practice?
Book a free, no-obligation consultation with a Norwich-based specialist.
Let's put your business in a better light.
Book a free, no-pressure consultation. We'll talk through your goals and tell you honestly what we'd do — whether you work with us or not.