← Back to Logbook
April 4, 2026 by Quartermaster

How to Create a WordPress Child Theme (and Why You Should Never Skip It)

#beginners #child theme #customization #theme development #wordpress

By The Quartermaster // March 30, 2026 // 8 min read // WordPress Fundamentals

A WordPress child theme is a separate theme that inherits the design and functionality of a parent theme while letting you customize it safely. Skip this step, and you lose every customization the next time your theme updates. Here is exactly how to create one — three methods, from manual to one-click.

WordPress powers 42.6% of all websites on the internet. That means hundreds of millions of sites depend on themes for their look and feel. Yet a staggering number of site owners edit their parent theme directly, then wonder why everything vanished after an update. A child theme is the fix — and it takes five minutes to set up.

This guide walks you through creating a WordPress child theme using three methods: the manual way (for developers who want full control), the plugin way (for anyone who wants it done fast), and the block theme way (for sites running Full Site Editing). Pick the one that fits your skill level and get it done.

⚡ Key Takeaways

  • A child theme protects your customizations from being wiped out by parent theme updates
  • You only need two files to create one manually: style.css and functions.php
  • Plugins like Child Theme Configurator can generate a child theme in one click
  • Block themes (Full Site Editing) use a theme.json file instead of functions.php
  • Never edit a parent theme directly — this is the single most common WordPress mistake

What Is Child Theme

What Is a WordPress Child Theme?

A WordPress child theme is a theme that inherits its templates, styles, and functions from another theme — called the parent theme. Think of it like a transparent overlay on top of the original. Anything you do not change in the child theme falls through to the parent. Anything you do change overrides the parent. The official WordPress Theme Handbook covers the full specification if you want the deep dive.

This means you get the full functionality and design of the parent theme, plus the freedom to modify whatever you want without touching the original files. When the parent theme gets updated, your child theme stays untouched. Your changes survive.

42.6%

of all websites run on WordPress

Source: W3Techs, March 2026

A child theme only requires two files at minimum: a style.css file with a special header that declares the parent theme, and a functions.php file that enqueues the parent theme’s styles. That is it. Two files and you have a working child theme.

WordPress Child Theme

Why You Need a Child Theme (The Update Horror Story)

Here is what happens without a child theme: You spend hours customizing your theme. You tweak the header, adjust colors in the stylesheet, add custom functions, modify template files. Your site looks exactly the way you want it. Then you get a notification — “Theme update available.” You click update.

Everything you did is gone. Every line of custom CSS. Every function you added. Every template you modified. The update overwrote all of it because you were editing the parent theme files directly.

“Child themes are the recommended way of modifying an existing theme. Using a child theme is a safe way of modifying a theme because all of your changes are kept in the child theme.”

WordPress.org, Theme Handbook

This is not a rare scenario. It happens to thousands of WordPress users every single day. Theme developers push updates for security patches, bug fixes, and new features. According to W3Techs, WordPress holds a 59.9% share of the CMS market — and most of those sites are running third-party themes that update regularly. If you are running a customized parent theme without a child theme, every update is a gamble.

🏴‍☠️ PIRATE TIP: Before creating a child theme, always back up your current site. If you have already customized your parent theme directly, copy those changes somewhere safe first — once you activate the child theme, it will use the original parent files as the base.

Manual Method

Method 1: Create a Child Theme Manually (The Real Way)

This is the method every WordPress developer should know. It gives you complete control and requires zero plugins. You will create two files, drop them in a folder, and activate the theme.

Step 1: Create the Child Theme Folder

Connect to your site via FTP, SFTP, or your hosting file manager. Navigate to wp-content/themes/. Create a new folder called yourtheme-child (replace “yourtheme” with your actual parent theme name). For example, if your parent theme is Twenty Twenty-Five, name the folder twentytwentyfive-child.

Step 2: Create style.css

Inside your child theme folder, create a file called style.css and add this header:

/*
 Theme Name:   Twenty Twenty-Five Child
 Theme URI:    https://yoursite.com
 Description:  Child theme for Twenty Twenty-Five
 Author:       Your Name
 Author URI:   https://yoursite.com
 Template:     twentytwentyfive
 Version:      1.0.0
*/

/* Your custom styles go below this line */

The critical line is Template. This must exactly match the folder name of the parent theme. Not the display name — the actual folder name in wp-content/themes/.

Step 3: Create functions.php

Create a functions.php file in the same folder with this code:

<?php
function child_theme_enqueue_styles() {
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );
    wp_enqueue_style(
        'child-style',
        get_stylesheet_uri(),
        array('parent-style')
    );
}
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' );

This loads the parent theme’s stylesheet first, then your child theme’s stylesheet on top. The array('parent-style') dependency ensures the correct loading order.

Step 4: Activate

Go to Appearance > Themes in your WordPress dashboard. You will see your child theme listed. Click Activate. Your site should look exactly the same as before — that means it is working. Now any changes you make in the child theme files will override the parent.

Plugin Method

Method 2: Use a Plugin (The Fast Way)

If you are not comfortable with FTP or code, the Child Theme Configurator plugin handles everything for you. It is free, well-maintained, and used on over 300,000 WordPress sites.

Here is the process:

  1. Go to Plugins > Add New and search for “Child Theme Configurator”
  2. Install and activate the plugin
  3. Navigate to Tools > Child Themes
  4. Select your parent theme from the dropdown
  5. Click Analyze to check for potential issues
  6. Click Create New Child Theme
  7. Go to Appearance > Themes and activate your new child theme

The plugin also includes a CSS editor so you can make styling changes directly from the WordPress admin. It handles the style.css header, functions.php enqueue, and even copies over widget settings and menus from the parent theme.

MethodDifficultyControlBest For
Manual (FTP)IntermediateFullDevelopers, custom builds
PluginBeginnerModerateNon-coders, quick setup
Block ThemeIntermediateFullFSE themes, modern WP

💡 Want more WordPress guides that skip the fluff and get straight to the code? Check out our full library.

Block Theme

Method 3: Block Theme Child Theme (The Modern Way)

If you are using a block theme (Full Site Editing), the process is slightly different. Block themes use theme.json for styling instead of relying as heavily on style.css. The good news: creating a child theme for a block theme is actually simpler.

The Quick Way: Create Block Theme Plugin

WordPress has an official plugin called Create Block Theme. Install it, go to Appearance > Create Block Theme, and select “Create a child of the active theme.” It generates all the files for you.

The Manual Way for Block Themes

Create your child theme folder in wp-content/themes/ and add these files:

style.css — Same header format as classic themes. The Template line points to the parent block theme folder name.

theme.json — This is where you override the parent theme’s design tokens:

{
  "$schema": "https://schemas.wp.org/trunk/theme.json",
  "version": 3,
  "settings": {
    "color": {
      "palette": [
        {
          "slug": "primary",
          "color": "#e94560",
          "name": "Primary"
        }
      ]
    }
  }
}

The child theme’s theme.json merges with the parent’s. You only need to include the settings you want to change — everything else inherits from the parent automatically.

Mistakes

Common Child Theme Mistakes (and How to Avoid Them)

Even experienced WordPress users make these errors when working with child themes. Here are the most common ones and how to dodge them.

1. Wrong Template name. The Template value in style.css must match the parent theme’s folder name exactly. Not the display name. Check wp-content/themes/ and use whatever that folder is called — case-sensitive.

2. Not enqueuing styles properly. Using @import in your child theme’s style.css is the old way and slows your site down. Always use wp_enqueue_style() in functions.php instead. The parent style should load first, then the child style.

3. Copying the entire parent theme. You should only copy the specific files you want to modify. If you want to change header.php, copy just that one file to your child theme. Do not dump the entire parent theme into the child — that defeats the purpose and means updates to those parent files will not flow through.

🏴‍☠️ PIRATE TIP: Test your child theme on a staging site first. If something goes wrong — a white screen, broken layout, or missing styles — you want it happening on staging, not on your live site where customers are browsing.

4. Forgetting to re-activate widgets and menus. When you switch from a parent theme to a child theme, WordPress may deactivate your widgets and menus. Go to Appearance > Widgets and Appearance > Menus to reassign them after activation.

5. Editing the parent theme “just this once.” There is no “just this once.” The moment you edit a parent theme file directly, you have created a ticking time bomb. One update and it is gone. Always use the child theme.

For a visual walkthrough, this video from WPBeginner covers the complete child theme creation process:

Frequently Asked Questions

Do I need a child theme if I only use the WordPress Customizer?

Changes made through the WordPress Customizer are stored in the database, not in theme files. They survive theme updates. However, if you plan to add any custom code, modify template files, or add custom CSS beyond what the Customizer offers, you should use a child theme.

Can a child theme slow down my site?

No. A properly set up child theme adds one extra stylesheet to load, which is negligible. The performance impact is virtually zero. A poorly configured child theme using @import instead of wp_enqueue_style can add a small delay, but done correctly there is no measurable difference.

What happens if I delete the parent theme?

Your site will break. The child theme depends entirely on the parent theme being installed. You do not need the parent theme to be active, but it must remain installed in your themes folder. Never delete a parent theme that has an active child theme.

Can I create a child theme of a child theme?

WordPress does not support grandchild themes. A child theme can only have one parent, and that parent must be a standalone theme. If you need deeper customization, add it to the existing child theme rather than trying to nest another layer.

How do I override a specific template file in my child theme?

Copy the template file from the parent theme folder into your child theme folder, keeping the same file name and directory structure. WordPress will automatically use the child theme version instead of the parent. For example, to override header.php, copy it from the parent theme to your child theme root folder and edit the copy.

⚔️ Pirate Verdict

There is zero reason to skip creating a child theme. It takes five minutes with the manual method, two minutes with a plugin, and it saves you from the gut-punch of losing hours of customization work to a theme update. If you are running any WordPress site with custom code, custom styles, or modified templates and you do not have a child theme — stop reading and go make one. Right now. Your future self will thank you.

Start Building Your Child Theme Today

Creating a WordPress child theme is one of those foundational skills that separates people who tinker with WordPress from people who actually know what they are doing. Whether you go the manual route, use a plugin, or work with the modern block theme approach, the result is the same: your customizations are protected, your updates are safe, and your workflow is professional.

Pick the method that matches your comfort level and build your first child theme today. Once you do it once, you will never go back to editing parent themes directly.

Which method did you go with? Manual, plugin, or block theme? Drop it in the comments below.

← WordPress Hooks Explained: What Actions and Filters Actually Do WordPress Gutenberg Keyboard Shortcuts: The Complete Cheat Sheet (2026) →
The Quartermaster
> THE QUARTERMASTER
Identify yourself, pirate. What brings ye to the command deck?