A child theme is a small WordPress theme that borrows its design and features from another theme, called the parent, while holding your own changes in separate files. When the parent theme is updated, your customisations stay in place because they were never written into the parent’s files.
How a child theme works
A child theme lives in its own folder alongside the parent. At minimum it contains a stylesheet whose header names the parent theme, and usually a functions file. WordPress loads the parent first, then applies the child on top. You activate the child theme, but the parent must stay installed because the child depends on it.
The child can change things in three main ways:
- Styles: CSS in the child overrides the parent’s, so you can change colours, fonts and spacing.
- Templates: a copy of a parent template file with the same name, placed in the child, is used instead of the original.
- Functions: code in the child’s functions file can add features or adjust the parent’s behaviour through the hooks it provides.
Newer block themes work slightly differently. Global styles live in a file called theme.json, which a child theme can override, and changes made in the Site Editor are saved in the database rather than in theme files. That means a block theme may need a child theme only for code or file-based changes, not for everyday design tweaks.
Why it matters
Theme updates often include security fixes and compatibility changes for new WordPress versions. If someone has edited the parent theme directly, you face a bad choice: update and lose those edits, or skip updates and leave the site exposed. A child theme removes that dilemma.
It also keeps the site understandable. When every customisation sits in one small child theme, the next developer can see exactly what was changed, rather than hunting through thousands of lines of someone else’s code. For a business that changes web suppliers over the years, that saves real money.
Common mistakes
- Editing the parent theme’s files directly, often through the built-in theme file editor, and losing the work at the next update.
- Building a child theme on a parent that is no longer maintained, which inherits all its unfixed problems.
- Copying whole template files to change one line. The copies stop receiving the parent’s fixes and slowly go out of date.
- Putting essential site functions, such as custom content types, schema markup or tracking, in the child theme. Change the theme and they vanish; these belong in a plugin.
- Updating the parent on the live site without testing whether the child’s overrides still fit.
How to act on it
Go to Appearance, then Themes, in your WordPress dashboard. If the active theme’s name ends in “Child”, or the theme details mention a parent, you are using one. If not, ask your developer where your customisations are kept.
If the parent has been edited directly, compare it with a fresh download of the same version to find the changes, then move them into a child theme or a plugin. Keep any copied templates to the minimum, and prefer hooks where the parent offers them.
Finally, update the parent on a staging site first and check the key pages before updating live. Untangling edited themes and moving site functions into the right place is a regular part of my WordPress SEO work, because it keeps the site safe to update.
