What this problem looks like
Child themes live in their own folder but depend on a parent theme for most templates. WordPress reads the Template header in child style.css to locate that parent.
Linux hosting is case-sensitive. Template: MyTheme fails if the folder is named mytheme.
Minimum child theme files
A valid child needs style.css with headers and optionally functions.php. Other templates override parent files only when copied into the child folder.
/*
Theme Name: My Theme Child
Template: my-parent-theme
Version: 1.0.0
*/
Load parent styles correctly
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css',
array(),
wp_get_theme( 'my-parent-theme' )->get( 'Version' )
);
wp_enqueue_style(
'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' ),
wp_get_theme()->get( 'Version' )
);
} );
Symptoms and fixes
- Broken parent theme is missing: install and activate parent first.
- Unstyled layout: parent CSS not enqueued in functions.php.
- White screen: syntax error in child functions.php. Check debug.log.
- Wrong templates loading: child file names must match parent template filenames.
Recover when the child whitescreens
Rename the child theme folder via SFTP to disable it. WordPress falls back to the parent if it was active underneath or to a default theme.
Fix functions.php locally, upload the corrected file, and reactivate.
Block themes and full site editing
FSE themes use theme.json and templates in the Site Editor. Child theme setup differs from classic themes. Follow the parent author FSE child documentation when available.
When to stop DIY and hire help
Child theme PHP errors are quick to fix with logs but scary on production. BugShield developers repair theme errors and restore layouts at a confirmed fixed price.