Guide

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.

FAQs

Common questions.

Do I need a child theme if I only use the WordPress Customiser?
No. Changes made through the Customiser (colours, fonts, header images) are stored in the database as theme mods, not in the theme files. They survive theme updates automatically. A child theme is necessary when you want to edit the theme’s CSS directly, modify PHP template files, or add custom code to functions.php.
Will a child theme slow down my website?
No. A properly set up child theme has negligible impact on performance. The only additional overhead is loading both the parent and child stylesheets, which is a trivial cost that can be eliminated by using @import in the child style.css or combining them via a caching plugin. In practice, you will not notice any speed difference.
Can I use a child theme with a page builder like Elementor or Divi?
Yes. Page builders store their layout data in the database, not in theme files, so they are fully compatible with child themes. In fact, using a child theme alongside a page builder is good practice — any customisations you make to the theme itself are protected, while your page builder layouts remain stored in the database and are unaffected by theme updates.
Related guides

More on web design & ux.

Want a hand putting this into practice?

Book a free, no-obligation consultation with a Norwich-based specialist.

Book a free consultation
Get started

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.

  1. 01
    Tell us a bitFill in the form — two minutes, tops.
  2. 02
    We'll call you backWithin one working day, no pressure.
  3. 03
    Get a clear planHonest advice and a fixed quote.

Free · No obligation · We reply within one working day

Book a free consultation