How to Create a WordPress Child Theme Without Plugins (Fast & Free)

In this guide, you will learn exactly how to create a child theme without plugin in WordPress manually or using a tool.
If you are customizing your WordPress site, you probably know the golden rule: Never edit the parent theme directly. If you do, the next theme update will wipe out all your hard work.
The solution is a Child Theme.
But here is the problem: most tutorials tell you to install a “Child Theme Configurator” plugin.
Stop doing that.
Installing a 2MB plugin just to generate two small text files (style.css and functions.php) is unnecessary bloat. It creates junk in your database and slows down your backend.
In this guide, I will show you the clean, developer-approved way to create a child theme for popular themes like Astra, Divi, and OceanWP without installing any extra plugins.
Method 1: The “1-Click” Method (Recommended) 🚀
If you don’t want to touch any code but also refuse to install a plugin, I built a free cloud-based tool for this exact purpose.
- It generates the standard, secure files for you instantly.
- Go to my free Child Theme Generator Tool.
- Type your theme name (e.g., Astra or Jannah).
- Click Generate.
- Upload the .zip file to Appearance > Themes.
That’s it. It’s cleaner than a plugin and faster than coding manually.
Method 2: Create Child Theme Without Plugin (Manual Code) (For Geeks) 👨💻
If you prefer to get your hands dirty and create the files yourself via cPanel or FTP, here is the exact code you need.
Step 1: Create the Folder
Go to /wp-content/themes/ and create a new folder.
- If using Astra: Name it astra-child
- If using Divi: Name it Divi-child
Step 2: Create style.css
Inside that folder, create a file named style.css and paste this code:
/* Theme Name: Astra Child Template: astra Author: Ahmod Musa Version: 1.0.0 */
(Note: Change Template: astra to your parent theme’s folder name exactly. For Divi, it must be Divi.)
Step 3: Create functions.php
This is where most people get it wrong. Old tutorials use @import which slows down site loading. The modern, Google-friendly way is using wp_enqueue_scripts.
Create a functions.php file and paste this:
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_styles' );
function my_child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
Why “Parent Slug” Matters?
The most common error beginners face is the “Broken Theme: Template is missing” error.
This happens because the Template: line in your CSS file doesn’t match the folder name of the parent theme.
Here are the correct slugs for the top themes:
- Astra: astra
- OceanWP: oceanwp
- Hello Elementor: hello-elementor
- GeneratePress: generatepress
- Divi: Divi (Case sensitive!)
- Jannah: jannah
If you are unsure about your theme’s slug, just use my Child Theme Generator mentioned in Method 1. It auto-detects the correct slug from a database of 100+ themes, so you never get that error.
Summary
You don’t need a plugin to create a child theme. It’s a bad habit that clutters your site.
- Use a Generator Tool for speed.
- Or write the code manually for control.
Either way, keep your WordPress site clean and fast!
Need help customizing your new child theme? I can help you fix CSS bugs or add custom functions. Hire me on Fiverr starting at $10.


