Load the Parent Theme Stylesheet in a Child Theme
Loads the parent theme's style.css before the child theme's own stylesheet, for child themes created without the enqueue code in functions.php.
Opens WPIDE on
Code
add_action( 'wp_enqueue_scripts', function () {
if ( ! is_child_theme() || wp_style_is( 'parent-style', 'enqueued' ) ) {
return;
}
$parent = wp_get_theme( get_template() );
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array(), $parent->get( 'Version' ) );
// Make sure the child stylesheet loads after the parent one.
$child = wp_styles()->query( get_stylesheet(), 'registered' ) ? get_stylesheet() : 'child-style';
if ( wp_styles()->query( $child, 'registered' ) ) {
wp_styles()->registered[ $child ]->deps[] = 'parent-style';
} else {
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ), wp_get_theme()->get( 'Version' ) );
}
}, 5 );
Notes
Does nothing when no child theme is active or the parent stylesheet is already loaded.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.