Everything you’d like to know about WordPress Divi Child Themes
The idea of child themes might be confusing to Divi and WordPress newbies. That is why we’ve decided to give you this concise, introductory explanation – available as a video and an article. First of all, rest assured, no children are involved! Secondly, while you might often hear about Divi child themes, this is actually a WordPress concept. If you’d like to quickly learn what child themes are and whether you need one, give this short video a watch.
It will explain the absolute basics, and the article will also cover them, while also including information on how to create a child theme – and a free blank child theme to download!
Free Resources for Divi Lovers
Join our newsletter to get the good stuff!
We’ll provide you with updates on new tutorials, webdesign assets and special offers. Get top quality Divi goodies straight into your inbox! Read our Privacy Policy to learn how we manage and protect your submitted information.
Sign up to download
Get access to this layout and all the free resources made exclusively for our subscribers!
Already subscribed?
Fill the signup form and if you’re on the list it’ll get you straight to the download page!
Can’t see the form? Click here
What is a Divi child theme?
Any WordPress theme can have a child theme, but we’ll be focusing on Divi. First of all, a child theme is a theme that contains styling and functionality to make a website look and behave a certain way.
It’s called a child theme because it is dependent on the parent theme – in this case, the Divi Theme. This means that a child theme on its own will not function. If you’d like to buy a premium child theme, for example, you will always have to have the Divi Theme, too.
There are two types of child themes: blank child themes and premium Divi child themes, and their properties and uses are different.
A blank Divi child theme
A blank child theme will be basically the same as the parent theme. When it’s created, it looks and behaves the same as the parent theme.
Why create it at all, then?
If you are using a WordPress theme such as Divi, you will have to update it from time to time to keep it functional and secure. Updating a theme means replacing all the theme files with the new, updated versions. Normally, this will not break or delete anything.
Unless you’ve inserted your own PHP, CSS or JavaScript code directly into the theme files. If you did that and then updated the theme, all the files with your edits would be deleted and replaced with the new files.
To prevent this, you can use a child theme. While keeping the parent theme files intact, you can insert your custom code into the child theme files, and this will prevent it from being overwritten.
Do you need a blank child theme?
If you aren’t planning to edit the original theme files in any way, you probably do not need a blank child theme. Even if you’re adding some custom CSS in Divi, you will not need a child theme if you’re using the designated custom code spaces (like inside Divi Theme Options, in a Code module, or in the Advanced tab of a module). These will not be affected by a Divi Theme update.
But that applies only if you use CSS sparsely, and can easily keep track of where your code is located to easily find and edit it. If you write a lot of custom code for your websites (like we do!) a blank child theme is a convenient way to keep all your CSS in one place – and update it directly through FTP.
So, again: if you need to edit the original theme files in any way or write a lot of custom code, you will need a blank child theme. We’ve included a free one to download in this article!
With that covered, let’s go on to premium child themes.
What is a premium Divi child theme?
Like the blank child theme, a premium one is also a theme dependent on the Divi Theme. But it is not blank. A premium child theme is a fully functional theme with premium design and styling. It is actually a fully designed website, customizable using the Divi functionality.
As an example: Divi Lover premium child themes contain a variety of different pages, such as the homepage, the about me page, blog archives and single blog posts, a sales page, etc. – all designed in a consistent, matching way.
They also include a wide variety of different modules, which you can pick and choose to customize the design. All modules are kept in the same, consistent style, which means you can add a module from the Library, and all the styling will already be implemented.
Do you need a premium child theme?
It depends. Casual WordPress users who just want to set up a website for themselves might find this a bit pricey because if you want to use a Divi child theme, you must purchase the Divi Theme as well.
But if you do have Divi, all you have to pay for is the child theme, and it’s usually a huge time-saver and a guarantee of exquisite design.
Also, many choose this option because of the freedom and independence a child theme gives them. So if you’re planning to build a website for yourself, and you appreciate great design and want to be able to customize your website using the robust capabilities of Divi, purchasing a premium child theme is worth considering.
Another group of Divi child theme users are professional web designers who use them to save time on projects for their clients. Using a child theme as a basis for designing a website makes the process much faster and easier.
Layout pack: a free alternative to a premium child theme
Another way to kickstart a website if you have Divi is using a layout pack. Elegant Themes offer hundreds of different layout packs for free, which every subscriber can download directly into the Divi Builder.
If you only need a simple, functional website with a few pages, this is a great option.
Layouts are not child themes, though. If you’re using a layout pack, you need to import each page separately – and also customize it separately.
Premium child themes will have a lot of global customization options, as well as more advanced features such as great pop ups, cool navigation design, and more.
How to create a Divi child theme?
There are a few ways to do that. Of course, you can simply download our free blank child theme, available for you to use right away. Or, if you’d like to create one yourself, you can use a plugin, and we have tested one – Child Theme Generator – which we can recommend. And you can also create a child theme manually, which is much easier than it sounds!
A child theme only needs two files to work: a style.css file and a functions.php file.
style.css
The style.css file must contain information about the parent theme to establish the connection between the two themes. This is also where you can add information that will be visible in the WordPress Appearance panel.
/*
Theme Name: Divi Child Theme
Description: This is a sample child theme
Author: Ania Romańska
Author URI: https://divilover.com
Template: Divi
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: divi-child-theme
*/
functions.php
And for the functions.php file, the most important code is the enqueue function which will load the parent theme and use the child theme’s CSS.
<?php
add_action( 'wp_enqueue_scripts', 'dl_enqueue_scripts_styles' );
function dl_enqueue_scripts_styles() {
$parenthandle = 'divi-style';
$theme = wp_get_theme();
wp_enqueue_style( $parenthandle, get_template_directory_uri() . '/style.css',
array(),
$theme->parent()->get('Version')
);
wp_enqueue_style( 'divi-child-theme-style', get_stylesheet_uri(),
array( $parenthandle ),
$theme->get('Version')
);
}
Thumbnail
And if this is a project for your clients, a great business move would be to include one additional file: a screenshot.png (or jpeg) to display a child theme thumbnail in the WordPress Dashboard. This could be your client’s logo, for example.
Upload your child theme
When you have these files, you can include all your CSS in the style.css file, and also include additional files if needed. When all the files are ready, you can upload them manually to the website through FTP, or you can zip the folder and install it as a new theme in WordPress.
Functionality plugin
As a side note here, there is another way to safely edit your website’s PHP code without risking losing it with the next update. And that is creating your own functionality plugin. If you are interested, we have a tutorial for that!
Check it out: Why and how to create a WordPress functionality plugin
Divi child theme FAQ
Can Divi beginners use premium child themes?
Of course! While some Divi know-how will come in handy, you can also use a child theme and learn as you go. For example, Divi Lover premium child themes come with the one-click install feature, which makes the installation process a breeze. We also include documentation for every child theme, and a video walkthrough (see our Girly child theme walkthrough on YouTube). And of course, all premium products come with premium support to help you out when you get stuck.
Can I create a child theme to a child theme?
No. A child theme cannot have more child themes. You can only create a child theme for the parent theme.
How do I create a premium child theme?
This one is much more complicated than creating a blank child theme. If you take a look at some of our premium child themes, you will notice that not only are they consistently designed and fully responsive, with vast libraries of modules to choose from – they also include additional settings in Divi Theme Options and the Theme Customizer. A lot of steps and work go into designing a premium child theme – but of course, like anything else, it can be learned!
If you’re interested in learning how to make a premium child theme, stick around – a child theme creation course is on our to-do list.
Final thoughts
We hope you found this explanation helpful! If you’d like to check out Divi Lover’s premium child themes, they are available here – and psst! If you use the code IREADBLOG at checkout, you’ll get a 10% discount on any purchase you make!
Don’t forget to download our blank Divi child theme if you need one – or want to take a look at how it’s made.
If you have any questions we haven’t covered in this article, ask them in the comments – and we’ll update the FAQ section.
In your courses do you go into more in depth on how to build a premium child theme like your Milly theme. Super impressed with the way it works and how you set it up using the demo import functions etc.
Hi James,
Thank you for your kind words! No, I’m afraid that building premium Divi child themes is not a part of my Divi Stylist Academy, but it is a topic for a separate course I’m planning for 2023 😉
Hello Ania,
Thanks for all your great tips.
I just followed the instructions, but WordPress says the theme is damaged, that the parent theme is missing.
I have the Divi theme installed and running.
Any thoughts…? Thanks !
Hi Maarten,
Please make sure that the “Template” set in the style.css file is “Divi” and that is the same exact name your parent theme is using (also set in the style.css file as “Theme Name”). If you are using a modified Divi version, that name in your child theme would need to be adjusted.
Thanks for a great video Ania. I’m creating a site and have not used a child theme. I’ve added custom code in the theme options, the code module and builder settings. I’m now wanting to use Projects as a custom post type and change the permalink from projects which I’ve found requires a child theme and code to the /functions.php file, If I now added your blank child theme, would I just be able to add this code (as well as any further code) without losing any of the style or code already added to the Divi parent? Many thanks!
Hi Carolyn,
Yes, if you install a blank child theme, it will not remove any of the code you already added to Theme Options or Code modules.
That said, the PHP code doesn’t necesarily needs to go to child themes’ functions.php file. You might want to consider using a functionality plugin, or a Code Snippets plugin.
Great and thanks so much Ania. I’ll check out the functionality plugin as well. Really appreciate your guidance.
Thank you for a great post. He helped me 🙂
What are your thoughts in rather loading the child theme files dynamically, where the file date is loaded rather than the parent version.
add_action('wp_enqueue_scripts', 'divi_dynamic_child_theme', 20);
function divi_dynamic_child_theme()
{
// GET PARENT THEME - DYNAMIC
wp_enqueue_style('divi-parent-theme-css', get_template_directory_uri() . '/style.css', array(), et_get_theme_version());
wp_dequeue_style('divi-style');
wp_enqueue_style('divi-child-theme-css', get_stylesheet_uri(), array(), filemtime(get_stylesheet_directory() . '/style.css'));
}
The primary reason I load the child style.css dynamically is that it resolves browser’s caching – as a date and time is added to the filename, any changes to the style.css reflect straight away.
Yeah. What do you think about this, Ania? I found a similar code advised by Divi Engine as well. Isn’t loading the child style.css dynamically using file date better?
Hi Allwell,
Yes, I sometimes use that version, too. Probably only with hosts that seem to have issues loading the latest stylesheet version with the standard code.