How To Create a WordPress Child Theme Without a Plugin [+Free Download]

Written & Reviewed by: Indraneil Khedekar

Updated: January 5, 2026

Ecommerce Launcher is a reader-supported website. Our site may contain links which earn us a small commission at no extra cost to you. Learn more.
how to create a wordpress child theme hero image

Creating a WordPress child theme is the safest way to customize your theme code. And contrary to popular belief, you don’t need a plugin or any advanced WordPress skills to set it up.

All you need is a computer with a text editor app.

Sounds too good to be true? It isn’t!

In this step-by-step child theme tutorial, I’ll explain everything you need to know about WordPress child themes, including:

  1. What are WordPress child themes, and how do they work?
  2. How to create a child theme without a plugin in less than 5 minutes.
  3. Common child theme errors and how to fix them.

I’ll also share a free, downloadable WordPress child theme that you can edit and use on your WordPress website in minutes.

Ready to learn? Let’s get straight to it.

Understanding WordPress child themes

A WordPress child theme is a theme that inherits the design and functionality of another theme, known as the parent theme. It typically includes files like style.css and functions.php, which let you customize your website’s design and functionality without editing the parent theme’s files.

Despite being called a “theme,” a child theme cannot function independently on a WordPress website. Instead, it relies on its parent theme to provide the basic structure and features.

Now, you’re probably wondering, if a child theme can’t exist independently, what is its purpose in WordPress?

Let me explain.

WordPress uses a process called “theme inheritance” to load theme files. It first looks at the child theme and loads the files inside it. Any files that aren’t in the child theme are then “inherited” or loaded from the parent theme.

infographic describing how wordpress child theme inheritance works

Thanks to WordPress’ theme inheritance process, we can use child themes to modify or extend the design and functionality of a WordPress theme without editing the main theme’s code. The best part is that you can do it without losing your custom code when the theme updates.

Now that you understand the basics of a WordPress child theme, let’s explore the steps to create one for your WordPress website.

How to create a WordPress child theme without a plugin

I’ve created a free, downloadable child theme to help you get up and running quickly. You can download it using the form below and then follow the rest of my tutorial to set it up for your site:

My free child theme works with Kadence by default. However, you can edit it to work with any other WordPress theme by editing the style.css and functions.php files to match your theme’s requirements as described below.

To learn how to set up your child theme correctly, follow the rest of my tutorial:

Pro tip

Test the child theme on a staging copy of your website. That way, you can troubleshoot errors before you install the child theme on your live site.

1. Create the child theme folder

Start by creating a folder for your child theme on your computer. You can use a Mac, Linux, or Windows PC to do that.

create a new folder in windows

Enter a descriptive name for the child theme folder.

name your child theme folder

You can name it whatever you want, for example, “my-site-child-theme” or “child-theme”. However, make sure there are no whitespaces or special characters other than hyphens in the folder name.

If you have multiple themes on your site, I recommend using a logical naming convention, such as the parent theme name followed by “-child”.

So if you’re using Kadence Theme like me, you could name the folder “kadence-child”, or if you’re using the default Twenty Twenty-Four theme, you could name it “twentytwentyfour-child”.

The name of your child theme folder doesn’t affect its compatibility or usability on your site. It just makes it easier for you to manage multiple child themes on your site.

Optionally, you can also add a screenshot of your brand, theme, or website inside the child theme folder to make it look more professional.

If you plan to do that, I recommend uploading an image that’s 1200px by 900px for best results.

Also, make sure the image is named “screenshot”, or it may not register correctly.

screenshot file in child theme folder

2. Create a stylesheet for your child theme

With the child theme folder set up, the next step is to add the style.css file.

This is the most important step in the entire child theme creation process because the style.css file specifies the parent theme it inherits from.

Any mistakes in setting up this file will result in the child theme not working correctly.

Don’t worry. Setting up the style.css file is easy.

First, use a basic text editor like Notepad to create a text file and paste the below code into it:

/*
Theme Name: Child Theme
Template: kadence
Author: Ecommerce Launcher
Author URI: https://ecommercelauncher.com/
Description: This is a child theme for WordPress.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
stylesheet file contents in notepad

The value of the Template: field is important as it defines the location of your parent theme. That’s why it must match the folder name of your parent theme.

You can edit all other values as you see fit and remove others, such as the ‘Author’ and ‘License’ details.

Since I’m using the Kadence Theme, I’ve set the value for the Template field as ‘kadence’ in my stylesheet file. If you’re using Twenty Twenty-Four, set it as ‘twentytwentyfour’.

Don’t know the folder name of your parent theme? No worries.

You can find the name of your theme folder by going to the wp-content/themes folder inside your WordPress installation directory.

Once you’ve edited all the values for your stylesheet, save the file inside your child theme folder and name it style.css.

name and save stylesheet file

Make sure the ‘Save as type’ option is set to All Files so the file will be encoded correctly based on the file extension.

3. Create a functions.php file to enqueue scripts from the parent theme

Next, you need to create a functions.php file to enqueue, or load, JavaScript and CSS files for your child theme.

Depending on your theme, you may or may not need this file.

Ideally, all WordPress themes would load the stylesheets of both the parent and child themes automatically. But only some do this.

Some WordPress themes, like the Twenty Twenty-Four theme, don’t load a stylesheet at all. So you need to enqueue the stylesheets by adding a small code snippet in the functions.php file of your child theme.

Don’t worry if you don’t know whether your theme needs a functions.php file. If you can’t reach out to your theme developer and ask them, add one anyway.

In most cases, adding a functions.php file won’t break your child theme, even if your theme doesn’t need a functions.php file to enqueue stylesheets.

Now, let’s go over the steps to create a functions.php file for your child theme.

Open the child theme directory, create a new text file using a text editor, and paste the following code inside the file:

<?php
/**
 * Enqueue child styles.
 */
function child_enqueue_styles() {
	wp_enqueue_style( 'child-theme', get_stylesheet_directory_uri() . '/style.css', array(), 100 );
}

/**
 * Add custom functions here
 */
functions php file contents in notepad

Save the file and name it functions.php.

name and save functions php file

Same as the last step, make sure the ‘Save as type’ option is set to All Files to encode the file correctly.

4. Compress your child theme folder into a zip archive

Your WordPress child theme is almost ready. Now, you just need to turn it into an installable file.

Here’s how you do that.

Select the child theme folder on your computer and compress it into a Zip file.

You can do this in Windows and macOS by right-clicking the folder and selecting the option to compress as a Zip file.

compress child theme folder and its contents

5. Upload, install, and activate your child theme

Once your child theme is compressed into a zip file, it’s ready to be installed on your WordPress site.

Log in to your WordPress admin and go to Appearance > Themes > Add New Theme.

add new theme from wordpress admin panel

Click the Upload Theme button and use the file picker to upload the zipped child theme folder.

Click Install Now to install your WordPress child theme. 

upload child theme file and click install now

Once your child theme installs, click Activate.

click activate child theme

That’s it! Your child theme is installed and ready to use.

child theme details in wordpress admin

How to add custom functions to a child theme

Plugins are the go-to option to customize a WordPress website. But they’re not the only way.

Sometimes, a plugin can be too much for a simple task, like creating shortcodes. In those cases, you can add your custom code to the functions.php file of your child theme.

Let’s look at how that would work with the help of an example where we add a shortcode to insert the current year into blog posts dynamically.

Here’s how you can use your child theme’s functions.php file to do it:

Open your child theme’s functions.php file in an editor. You can do this in a few different ways, including:

  1. The WordPress Theme File Editor.
  2. Editing the file over SFTP.

Paste the following code into the file and save it:

// Shortcode for the current year
function current_year() {
    $year = date('Y');
    return $year;
}

add_shortcode('year', 'current_year');

// Enable shortcode processing in post titles
add_filter('the_title', 'do_shortcode');
paste custom code into functions php file

That’s it! You can now add a [year] shortcode anywhere in your posts and post titles, and WordPress will automatically replace it with the current year.

Wasn’t that super easy?

Common WordPress child theme errors and how to fix them

Most WordPress child theme-related errors happen when you’re installing the child theme and are related to the child theme folder being set up incorrectly.

Here are the two most common WordPress child theme errors I’ve come across while working with WordPress and the steps to fix them.

1. Fatal error: Uncaught TypeError

fatal error uncaught type error during child theme installation

The Fatal error: Uncaught TypeError error occurs when you install a child theme that isn’t set up correctly. It usually happens because the style.css or functions.php files aren’t properly encoded, meaning their file formats are incorrect.

To diagnose this, extract the child theme folder on your computer and then inspect the properties of the style.css and functions.php files by right-clicking the files, one at a time, and selecting Properties.

The file properties must show the file type as CSS and PHP. If it shows the file type is a Text Document (.txt), that’s the problem.

file properties modal showing incorrect file type

To fix it, open a text editor like Notepad or Notepad++, paste the code into the file, and then save it with the file type set as ‘All files‘ as shown in the image below.

set file type as all files and save file

If you can’t do that, download my free child theme for Kadence using the form below and edit the style.css and functions.php file contents to match your theme folder name and stylesheet requirements.

2. The parent theme could not be found

the parent theme could not be found error during wordpress child theme installation

The “The parent theme could not be found” error occurs when the parent theme declared in the stylesheet isn’t found inside the wp-content/themes folder. And that usually happens when you misspell the Template: field value in the style.css file.

To fix this error, open your WordPress installation directory and go to the wp-content/themes folder.

find parent theme name in wp content themes folder

Copy your theme’s folder name and paste it into your child theme’s style.css file.

misspelled template name in stylesheet file

Finally, compress the folder and reinstall the child theme on your site. Your child theme will install correctly and associate with the existing theme on your website.

Wrapping it up: Creating a WordPress child theme doesn’t get any easier than this

I’ve explained the basics of a WordPress child theme, including what it is, how it works, and how to set it up correctly on your website. I’ve also shared a free, downloadable child theme for the Kadence Theme.

Child themes are one of the simplest and most versatile ways to customize WordPress websites safely. They allow you to do everything from adding custom CSS and functions to replacing entire page templates without messing with your website’s theme code.

Setting up a child theme for the first time might feel intimidating. But I’ve tried my best to explain the process in as much detail as possible to help make it easier for you.

If you have questions or need help with your WordPress child theme, comment below or post it on our Reddit page. I’ll try my best to help you out 🙂