What Is a WordPress Child Theme?
WordPress child themes explained — what they are, when you need one, and when you don’t. Practical guidance for Tampa WordPress site owners.
A child theme is a separate theme that inherits everything from a “parent” theme but lets you safely add customizations. You need one any time you’re modifying a third-party theme’s code, files, or templates — otherwise your changes get overwritten on the next theme update. For custom-built themes or block themes you control, child themes are often unnecessary.
The problem child themes solve
Imagine you bought a premium theme — say, Astra Pro or a ThemeForest theme — and you want to customize a template. Maybe you want to:
- Change how blog post headers look
- Add a custom widget area
- Modify the footer
- Tweak the search results page
The straightforward path is to edit the theme’s files directly. The problem: when the theme vendor releases an update, your edits get overwritten. Three months later, you’ve lost all your customizations and probably forgot what they were.
A child theme is WordPress’s solution. You create a separate “child” theme that points back to the original “parent” theme. The child theme inherits all the parent theme’s design and functionality, but lets you override specific files or add new ones. When the parent theme updates, your child theme’s customizations stay safe.
How a child theme actually works
The mechanics are simple:
- You create a folder in
/wp-content/themes/— call itparent-theme-child/ - Inside, you create a
style.cssfile that says “this is a child of parent-theme” - You optionally create a
functions.phpfor adding PHP code - You optionally copy any file you want to override from the parent theme
When WordPress loads the child theme:
- It uses the parent theme’s files for anything not overridden
- It uses the child theme’s files for anything that exists in the child
It’s straightforward — and well documented at developer.wordpress.org.
Minimum viable child theme
You need two files at minimum.
style.css:
/*
Theme Name: My Theme Child
Template: my-theme
Version: 1.0
*/
The Template: line is critical — it tells WordPress which parent theme to inherit from. The value must exactly match the parent theme’s folder name.
functions.php:
This loads the parent theme's CSS so your site doesn't look unstyled. There are variations of this code depending on how the parent theme handles its CSS — Astra, GeneratePress, and others have their own recommended snippets.
When you need a child theme
The clear cases:
1. You're using a third-party theme and need to customize templates
If you bought a theme from ThemeForest, downloaded a free theme, or use any theme you don't control the source of — and you need to modify it beyond CSS — you need a child theme. Editing the parent theme's files directly will cost you on the next update.
2. You want to override theme functions or filters
If you need to remove a feature the theme adds, change how it handles a hook, or modify its PHP behavior, that goes in your child theme's functions.php.
3. You're modifying templates significantly
If you want a custom single post layout, a custom category archive, or a new page template — and the parent theme doesn't provide a UI for it — copy the relevant template file from parent to child, edit it there.
4. You're working with a theme that updates often
Some popular themes (Divi, Astra, OceanWP) push updates monthly. A child theme is the standard practice for any customization on these.
When you DON'T need a child theme
A few cases where child themes are unnecessary overhead:
1. You only need CSS changes
WordPress has had Customizer Additional CSS for years, and the Site Editor's CSS tab handles styling in block themes. For small CSS tweaks, just use those. No child theme needed.
2. You're using a custom theme built for you
If we build you a custom theme for your Tampa site, there's no upstream theme that's going to be updated and overwrite your changes. The theme is yours. Edit it directly. No child theme needed.
3. You're using a block theme (FSE)
Block themes use the Site Editor for visual changes. Most of what you'd customize in a traditional theme can now be done in the Site Editor without touching code. See should I use a WordPress block theme. Child themes for block themes work differently and are often unnecessary.
4. The theme provides a child theme already
Some premium themes (Genesis Framework, Divi) ship with starter child themes or "child theme" tooling baked in. Use those instead of rolling your own.
5. You're adding custom code via a code snippets plugin
Plugins like Code Snippets let you add PHP code without modifying any theme files. For one or two small additions, this is faster than setting up a child theme. For dozens of customizations, a child theme is cleaner.
What goes in a child theme
When you do create one, what belongs:
- Custom CSS for design changes beyond what the Customizer allows
- Custom PHP in functions.php for hooks, filters, custom functionality
- Overridden templates (single.php, page.php, archive.php, etc.) when needed
- Custom template parts that your child theme references
- Custom page templates for specific page types
- Translation files for localized strings
What doesn't belong:
- Plugin functionality — if it's not theme-specific, it belongs in a custom plugin
- Custom post types — should live in a plugin so they survive theme changes (see WordPress custom post types)
- Site-wide settings that aren't visual
Common child theme mistakes
1. Forgetting the Template: declaration
If style.css doesn't have the correct Template: value, WordPress won't recognize the parent. The child theme will activate but won't inherit anything.
2. Not loading parent styles
Without the enqueue function in functions.php, the parent theme's CSS won't load. The site will look broken when you switch to the child theme.
3. Editing parent theme files anyway
We see this constantly. Someone creates a child theme correctly, then panics and edits the parent theme's files for a quick change. The next update destroys it. Discipline is hard.
4. Copying entire template files unnecessarily
If you only need to change one function, override that function in functions.php — don't copy the entire template. Less code in the child theme = less drift over time.
5. Not version-controlling the child theme
Your child theme is custom code. It should live in Git. Don't only have it on the production server.
6. Letting the child theme become a junk drawer
After a few years of "just one more customization," child theme functions.php files can grow to hundreds of lines of unrelated code. Refactor or split into a plugin when this happens.
Block themes change the math
WordPress is shifting toward block themes (Full Site Editing). With block themes:
- The Site Editor handles most visual changes without touching code
- Templates are JSON/HTML files that can be edited through the UI and exported
- Customizations sync to a database structure that survives theme updates
- The need for traditional child themes is reduced
For traditional themes (which most premium themes still are in 2026), child themes remain important. For block themes, they're less necessary — though still useful for code-level customizations. See should I use a WordPress block theme.
Child themes vs. custom themes
Two genuinely different approaches:
Child theme approach:
- Start with a premium parent theme
- Override what you need to customize
- Inherit updates from the parent
- Lower initial cost
- Limited by what the parent theme exposes
Custom theme approach:
- Build the theme from scratch (or from a starter framework like Underscores, Sage)
- Own all the code
- No parent theme dependency
- Higher initial cost
- Unlimited flexibility
For most Tampa small businesses, a child theme of a quality premium parent works fine and is cheaper. For premium builds where design needs to be distinctive and performance matters, a custom theme is worth the investment. We do both, depending on client budget and needs. See WordPress web design in Tampa.
How to set one up quickly
If you need a child theme for an existing parent theme:
Option 1: Plugin
Use the "Child Theme Configurator" plugin (free). It walks you through:
- Pick the parent theme
- Configure how stylesheets handle
- Click create
- Activate the child theme
Total time: 5 minutes.
Option 2: Manual
- Create folder
wp-content/themes/parent-theme-child/ - Add
style.csswith the header block - Add
functions.phpwith the enqueue function - Upload via SFTP or your host's file manager
- Activate in Appearance > Themes
Total time: 10 to 15 minutes.
Option 3: Provided by theme vendor
Some themes (GeneratePress, Astra, Kadence) provide starter child themes. Download from the vendor's site, upload, activate. Fastest if available.
Bottom line
A WordPress child theme is the safe way to customize a third-party theme. You need one any time you're editing theme code on a theme you didn't write. You don't need one for CSS-only changes, custom themes, or block themes with Site Editor edits. Set one up via the Child Theme Configurator plugin if you're new — it's 5 minutes of work and saves hours of grief later. See our recommended WordPress setup for Tampa businesses for our approach to themes.
Got a more specific question about your project?
Send the details — we reply within one business day with a straight answer, no sales theater. Or book the 30-minute discovery call directly.