
A WordPress child theme lets you customize your site while keeping every change safe when the parent theme updates. Without one, an update can silently wipe your edits, and I have seen that happen to more sites than I can count.
Here is how to create one, first manually with two small files, then with a plugin if you would rather not touch code. I will also tell you when you do not need a child theme at all, because sometimes you genuinely do not.
Principaux enseignements
- A child theme inherits everything from its parent and overrides only what you change, so parent updates never touch your customizations.
- The manual method needs just a folder and a style.css file; add functions.php only when you want custom PHP.
- Le Template line in style.css must match the parent theme’s folder name exactly, or the child will not work.
- Child Theme Configurator does the same job without code and can copy your Customizer settings across.
- For CSS-only tweaks or block themes edited in the Site Editor, you may not need a child theme at all.
What a WordPress child theme is, and why it protects your edits
A child theme is a theme that inherits the design and functionality of another theme, the parent. WordPress loads the child’s files first and falls back to the parent for everything else, so you override only the pieces you customize while the parent keeps doing the heavy lifting.
The payoff comes at update time. Edit the parent theme directly and the next update overwrites your work; put the same edits in a child theme and the parent updates cleanly underneath them. The WordPress developer handbook recommends exactly this approach for modifying any theme you did not build yourself.
When you do not need a child theme
Honest scoping first, because a child theme is not automatic best practice for everyone. If all you want is a few CSS tweaks, the Additional CSS box in the Customizer survives updates on its own. Small PHP snippets can live in a code snippets plugin, and block themes edited through the Site Editor store those changes in the database, not in theme files, so updates do not erase them.
Where a child theme earns its keep is template overrides, custom functions you want versioned with the theme, and any project where the customization is more than cosmetic. If that is you, read on.
Method 1: Create a WordPress child theme manually
You need access to your site’s files (hosting file manager, FTP, or SFTP) and about five minutes. The structure you are building looks like this:

- Create a folder inside
wp-content/themes/. Name it after the parent, likekadence-child, so future-you knows what it belongs to. - Create style.css inside that folder with this header:
/*
Theme Name: My Child Theme
Template: parent-theme
*/Two lines matter here. Theme Name is whatever you want shown in the admin, but Template must match the parent theme’s folder name exactly, lowercase and all. If the parent lives in wp-content/themes/kadence, the line is Template: kadence; get this wrong and WordPress reports a broken theme.
- Create functions.php in the same folder if the parent’s styles do not load on their own (many classic themes need this):
<?php
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' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}This loads the parent stylesheet first, then your child stylesheet on top of it, so your CSS wins any conflict. One caution: some themes already enqueue their own styles a different way, so check the parent’s documentation; well-known themes like Kadence, Astra, and GeneratePress even offer ready-made child themes you can download instead of building one.
Only style.css is required. If you have no PHP to add, skip functions.php entirely; the child theme works with the stylesheet alone.
Activate the child theme
Aller à Appearance > Themes in your dashboard, find your new child theme, and click Activate. One thing to expect: Customizer settings, menus, and widget placements are stored per theme, so switching to the child can reset them and you may need to reassign menus or re-enter Customizer options once.
Method 2: Create a child theme with the Child Theme Configurator plugin
If editing files is not your thing, the free Configurateur de thème enfant plugin builds the same two files for you and adds one genuinely useful extra: it can copy the parent’s Customizer settings, menus, and widgets into the child, which sidesteps the reset problem from the manual method.
- Install and activate the plugin from Plugins > Ajouter un nouveau.
- Ouvrir Tools > Child Themes, select your parent theme, and click Analyze; the plugin checks how the parent loads its styles and picks the right enqueue method.
- Accept the defaults (or tick the option to copy parent settings), click Create New Child Theme, then preview and activate it from Appearance > Themes.
After activation you can add CSS through the plugin’s editor or the Customizer, and PHP through the child’s functions.php in the theme file editor (under Appearance on classic themes, Tools on block themes). That is the same place my login page customization snippets go, which is exactly the kind of edit a child theme exists to protect.
Child themes on block themes
Block themes (the ones edited through the Site Editor) support child themes too, with theme.json inheriting the same way templates do. In practice you need one less often, because Site Editor changes live in the database and survive updates, but a child theme still makes sense when you want file-based overrides you can version and deploy.
Whichever route you take, remember the theme itself carries SEO weight through its speed and markup; I broke down where that genuinely matters in is your WordPress theme hurting your SEO. A child theme changes none of that; it just makes your customizations survivable.
So, should every WordPress site run a child theme?
If this were my site and I planned any file-level customization on a classic theme, I would create the child theme before writing a single line, because retrofitting one after an update has eaten your edits is miserable. The manual method is my default; it is two small files and you understand exactly what they do.
But for a site that only needs a little Additional CSS, or a block theme edited entirely in the Site Editor, skipping the child theme is a legitimate choice rather than a mistake. Match the tool to the depth of the customization, not to a rule.
Need a hand customizing your theme safely?
If your child theme will not activate, or an update already wiped your customizations, nous contacter ou m'envoyer un courriel and I will help you rebuild it the durable way. Ten minutes of setup now saves the whole redesign later.
Journal des mises à jour
04 Jul 2026
- Refreshed both methods for current WordPress: a corrected enqueue snippet that loads the child stylesheet with the parent as a dependency, the Customizer-reset caveat when activating, block theme guidance, and an honest section on when you can skip a child theme entirely.
Want our posts to show up more often on Google?
One step & Google will surface this site in your Top Stories.

intéressant pendant très longtemps