How to Create a Child Theme in WordPress

If you’re planning to personalize your WordPress site without risking your changes every time you update the theme, understanding how to create a child theme in WordPress is essential.

This guide will walk you through the process, ensuring that your customizations are preserved safely and effectively. Whether you’re a beginner or an experienced developer, creating a child theme can be a straightforward task with the right steps.


How can I create a child theme in WordPress?

To create a child theme in WordPress, create a new directory in your themes folder, copy the `style.css` file from the parent theme into it, and add a WordPress header comment at the top of the file. You’ll also need to enqueue the parent theme’s styles using `functions.php`.

Should I create a child theme in WordPress?

Yes, creating a child theme is recommended if you plan to make modifications to a theme. It allows you to update the parent theme without losing your customizations.

How do I create a child template?

To create a child template, copy any template file from the parent theme into your child theme directory. You can then make changes to this file without affecting the parent theme.

How to create a child theme without a plugin?

Create a child theme manually by making a new folder in the themes directory, copying the `style.css` and `functions.php` files from the parent theme, and modifying them as needed. Ensure the `style.css` file includes the correct template name and enqueue styles properly in `functions.php`.

Understanding child themes

In the dynamic world of WordPress, child themes are a safe way to add customizations to your theme without affecting the original design and functionality. They ensure your tweaks are preserved even after a theme update.

What is a child theme?

A child theme in WordPress is a theme that inherits the functionality and styling of another theme, known as the parent theme. Child themes are the recommended way to modify an existing theme. By using a child theme, you’re able to apply and maintain customizations apart from the parent theme, which means your changes won’t be lost when the parent theme is updated.

Benefits of using a child theme

  • Safeguarding customizations: Updates to the parent theme won’t overwrite your changes saved in a child theme.
  • Flexibility and extensibility: You have the freedom to experiment and extend the design and functionality without fear of breaking your site.
  • Fallback security: If there are issues with your modifications, WordPress will use the parent theme’s files, ensuring your site keeps running smoothly.

Parent theme vs. child theme

  • Parent theme: This is the main theme from which your child theme inherits styles and functions. It’s a complete theme with all the required WordPress template files and assets.
  • Child theme: A separate theme that you create which borrows functionality and styles from the parent but allows you to modify and override those elements. Your customizations are stored in the child theme.

By using a child theme, you can ensure that your customizations are kept separate from the parent theme’s files, which leads to better security and easier management of updates and modifications.


Before diving into the creation of a child theme, it’s essential that your WordPress site is up and running and that you’ve selected an appropriate parent theme.

Setting up a WordPress site

To get started, you need an operational WordPress site. This means you should have WordPress installed on your hosting environment, and you should be able to access the WordPress dashboard. Ensure you have administrative privileges, as you will need them to install themes and create new files.

Choosing the right parent theme

The choice of your parent theme is crucial, as your child theme will inherit all the functionality and styling from it. When selecting a parent theme, consider the following:

  • Theme popularity: Popular themes are typically well-supported and regularly updated.
  • Flexibility: A theme with numerous customization options will give you more freedom.
  • Performance: Choose a theme optimized for speed to ensure a good user experience.

To analyze and ensure compatibility, you can use the Analyze function provided by child theme plugins or look into the documentation of the chosen parent theme for any specific instructions or requirements.

How to create a child theme in WordPress manually

When you create a child theme manually, it’s essential you set up the directory structure and base files properly. This ensures your child theme inherits the functionality and styling of its parent while allowing you to make customizations safely.

Create the child theme directory

First, create a new folder in your wp-content/themes directory. Give it a unique name that relates to your child theme; for instance, if naming it “Grand Sunrise,” the folder would be named grand-sunrise. Ensure the name uses kebab-case (lowercase with hyphens separating words).

how to create a child theme in wordpress

Creating style.css for your child theme

Next, you’ll need to create a style.css file within the child theme directory you just made. This CSS file is crucial as it contains all the styles for your child theme and informs WordPress about the parent theme linkage. The top of the style.css file must contain a header comment:

Theme Name: Grand Sunrise
Template: twentytwentyone

Replace “twentytwentyone” with your actual parent theme’s directory name. Below this, you can add your custom CSS rules.

Creating functions.php for your child theme

Finally, create a functions.php file in your child theme directory. This PHP file will add or modify the functionality of your website. In this file, you can enqueue the parent theme styles with the following code:

function my_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
add_action( 'wp_enqueue_scripts', 'my_child_theme_styles' );

Remember to use add_action to hook into the right action and properly load styles.

Activating and using your child theme

After understanding how to create a child theme in WordPress, the next steps are to activate it and start customizing it to suit your needs.

Activating your child theme

To activate your child theme, you need to log into your WordPress dashboard. Go to Appearance, then select Themes where you’ll see a list of available themes including your newly created child theme. Hover over your child theme and click the Activate button that appears. Your child theme is now live on your WordPress site.

how to create a child theme in wordpress (1)

Customizing your child theme

Customizing your child theme allows you to make changes without affecting the parent theme. In the WordPress dashboard, navigate to Appearance and click on Customize to open the theme customizer. Here you can make various customizations, from adjusting colors and fonts to adding custom CSS. Remember, any customizations you make in the child theme will remain intact even after updating the parent theme, preserving your website’s look and functionality.

how to create a child theme in wordpress

Enqueueing style sheets and scripts

When creating a child theme in WordPress, it’s essential to maintain the visual consistency and functionality of your site by properly linking to the parent theme’s style sheets and scripts as well as any additional styles or scripts your child theme requires.

Using wp_enqueue_style for parent and child themes

Your child theme relies on the proper loading of CSS files to ensure your site’s design remains intact. You’ll start by enqueuing the parent theme’s stylesheet, since your child theme’s styles will typically build upon it.

To do this, add the following code to your child theme’s functions.php file:

add_action('wp_enqueue_scripts', 'my_child_theme_enqueue_styles');
function my_child_theme_enqueue_styles() {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');

This code snippet uses wp_enqueue_style, a function crucial for safely adding style sheets. ‘parent-style’ is the name we’re assigning to the file, and get_template_directory_uri concatenates the location of the style.css from the parent theme.

how to create a child theme in wordpress

For your child theme’s stylesheet, enqueue it after the parent’s to override styles:

wp_enqueue_style('child-style', get_stylesheet_uri(), array('parent-style'));

Here, get_stylesheet_uri grabs the URL of your child theme’s style.css, and the array ensures it loads after the parent style by defining it as a dependency.

Enqueuing additional scripts and styles

Beyond inheriting styles from the parent theme, you might need to add extra fonts, icons, or JavaScript functionality exclusive to your child theme. Extending your site’s functionality and design properly involves additional enqueues in your functions.php.

For scripts, here’s how to correctly enqueue a JavaScript file:

function my_child_theme_scripts() {
    wp_enqueue_script('my-custom-script', get_stylesheet_directory_uri() . '/js/custom.js', array(), false, true);
add_action('wp_enqueue_scripts', 'my_child_theme_scripts');

wp_enqueue_script handles the inclusion of JavaScript assets. The parameters define the script name, the file path, an empty array for dependencies (if there aren’t any), a version number (null for none), and a boolean that loads the script in the footer when set to true.

When you have additional stylesheets, you can enqueue them in a similar manner using wp_enqueue_style, ensuring that your design changes are applied correctly and your CSS rules are fully integrated with the parent and child themes. Always remember to prioritize the order of enqueues to maintain style consistency.

Handling common tasks and customizations

When you create a WordPress child theme, you will likely need to manage specific tasks like editing template files, adding custom styles, and injecting custom functions. These are essential for tailoring your site’s look and functionality to your needs.

Editing template files

To edit template files, first locate them in your parent theme’s directory. You can then copy these files to your child theme’s directory, preserving the directory structure. For instance, if you’re modifying the single.php file, copy it from your parent theme and edit it within your child theme’s folder. Your changes will override the parent theme without affecting the original files, allowing easy updates and reversions.

Adding custom CSS

For styling changes, you’ll work primarily with the style.css file. Begin by enqueuing the parent theme’s stylesheet using wp_enqueue_style() within your functions.php file. Then, add your custom CSS to the style.css file in your child theme folder. This approach allows you to customize elements like menus, widgets, and other styles without modifying the parent theme’s styles directly.

Incorporating custom functions

You can enhance your site’s functionality by adding custom PHP functions to your child theme’s functions.php file. This allows you to extend features or introduce new capabilities without the risk of plugin conflicts. For example, to register a new widget area, you can use the register_sidebar() function with specific parameters like ID, name, description, and before/after widget tags.

Remember to always test your changes on a staging site before applying them to your live site. This will ensure your customizations work as intended without disrupting your users’ experience.

Troubleshooting your child theme

When you encounter issues with your child theme, it’s important to methodically troubleshoot problems and ensure that your updates do not compromise your website’s functionality or security.

Dealing with common errors

If you’re facing errors with your child theme, follow these steps to diagnose and fix the issue:

  • Check for typos: Ensure that your child theme’s directory and file names are correct. Typos can prevent the child theme from working altogether.
  • Validate your CSS: Use a CSS validator to ensure there are no errors in your style.css file.
  • Review functions: Scan your functions.php file for any incorrect or buggy code snippets.
  • Conflict check: Deactivate other plugins to see if there’s a conflict between them and your child theme.
  • Enable debugging: Turn on WordPress debugging by setting define( 'WP_DEBUG', true ); in your wp-config.php file. This may reveal underlying problems.
  • Update mistakes: If you’ve made an update that caused issues, revert to a previous version to identify the cause.
  • Seek support: If you’re using a child theme configurator plugin, refer to the plugin’s support forums for specific issues.

Best practices for safe updates

To safely update your child theme without risking data loss or security breaches:

  • Backup regularly: Before you update WordPress or your theme, make sure to back up your site. You can use a plugin or your hosting provider’s tools.
  • Use a staging site: Test updates on a staging site before applying them to your live site.
  • Follow parent theme changes: Keep an eye on updates to the parent theme, as they might necessitate adjustments in your child theme.
  • Understand the changes: Read the changelog for any update to comprehend what changes are being made.
  • Keep WordPress up to date: Ensure that both the WordPress core and your themes (parent and child) are up to date to maintain security.
  • Monitor after updates: After updating, check your website thoroughly to catch any issues early.

As you maintain and update your child theme, remember that systematic troubleshooting and adhering to best practices for updates will help keep your website running smoothly and securely.

Advanced child theme techniques

Creating an advanced child theme in WordPress allows you to customize your website without modifying the parent theme directly, enabling safe updates and preserving your alterations. Let’s explore some sophisticated tools and methods on how to create a child theme in WordPress.

Creating a child theme using a plugin

Plugins can significantly simplify the creation of a child theme. A popular choice is Child Theme Configurator. This plugin allows you to:

  • Install and activate with ease from your WordPress dashboard.
  • Use the Tools menu to access its child theme creation features.
  • Analyze your selected parent theme to ensure compatibility.

To use the plugin:

  1. First, install the Child Theme Configurator plugin through the Plugins menu.
  2. Navigate to Tools > Child Themes and select your parent to create a child theme in wordpress
  3. Next, click the Analyze button so the plugin can check the parent theme for any potential to create a child theme in wordpress
  4. After analyzing, you can create your child theme with a click, and it will automatically generate the necessary files and configurations.

Automating your child theme creation with generators

A child theme generator is a valuable tool if you prefer not to use a plugin. These online generators provide a form where you can specify details like your child theme’s name and the parent theme you’re using. Upon submission, a zip file containing your custom child theme will be generated for download.

Typically, you’ll:

  1. Visit a child theme generator website.
  2. Enter the required details like the parent theme name, which can be located using the wp_get_theme() function.
  3. Optional settings like the author name, theme description, and version can also be added.
  4. Generate and download the zip file of your child theme.

This zip file can then be uploaded directly through the Appearance > Themes menu in your WordPress dashboard. After uploading and activating, you can further customize your child theme via the Theme Customizer or by adding custom PHP and CSS files as needed.

By utilizing these advanced tools, you ensure a reliable and efficient approach to creating a robust child theme for your WordPress site.


By following the steps outlined in this guide on how to create a child theme in WordPress, you can ensure that your customizations are secure and maintained through updates.

A child theme is not just a best practice for theme customization; it’s a powerful way to enhance and personalize your WordPress site without compromising the original theme’s integrity. Whether you’re tweaking styles or enhancing functionality, a child theme offers a safe and effective solution.

Simplify WordPress with 10Web
Share article

Leave a comment

Your email address will not be published. Required fields are marked *

Your email address will never be published or shared. Required fields are marked *


Name *