Child-Theme not overriding parent’s CSS
-
Hi wordpress community,
I followed the steps on this site to create a child-theme. My child theme has both a <tt>style.css</tt> with actual CSS classes and a <tt>functions.php</tt>. Generally, the child-theme loads and works. However, it does not override the parent theme’s CSS, because the parent theme itself loads its styles within its <tt>functions.php</tt> after the child.
Here’s my code:
<b>child-theme’s style.css</b>
/* Theme Name: CleanBlogg Child Theme URI: https://airthemes.net/cleanblog Author: Frank Meffert Author URI: https://www.frankmeffert.de Description: This is a child of cleanblogg Version: 1.0.2 License: GNU General Public License v2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Template: cleanblogg Text Domain: cleanblogg-child Tags: one-column, two-columns, left-sidebar, right-sidebar, grid-layout, custom-menu, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, blog, entertainment, footer-widgets, news */ .widget h4.widget-title { text-align: center; padding: 9px; margin-top: 0px; margin-bottom: 15px; background-color: #222222; color: #ff0000; }
<b>child-theme’s functions.php:</b>
<?php function my_theme_enqueue_styles() { $child_style = 'cleanblogg-child'; // name of the child theme $parent_style = 'cleanblogg'; // the theme we inherit // Note: the parent style comes first!!! // args: name, url, deps, version, media wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); wp_enqueue_style( $child_style, get_stylesheet_directory_uri() . '/style.css' ); } add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); ?>
In the resulting html I’ve seen that there are several CSS includes, so I checked the parent’s functions.php. Here it is:
(snip) <?php function cleanblogg_load_scripts() { wp_enqueue_style('cleanblogg_library', get_template_directory_uri() . '/css/library.css');/* CSS Library */ wp_enqueue_style('cleanblogg_css', get_template_directory_uri() . '/style.css');/* CSS Main */ (snip)
Here’s a snippet from the resulting html:
<link rel='stylesheet' id='cleanblogg-css' href='/wp-content/themes/cleanblogg/style.css?ver=4.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='cleanblogg-child-css' href='/wp-content/themes/cleanblogg-child/style.css?ver=4.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='cleanblogg_library-css' href='/wp-content/themes/cleanblogg/css/library.css?ver=4.6.1' type='text/css' media='all' /> <link rel='stylesheet' id='cleanblogg_css-css' href='/wp-content/themes/cleanblogg/style.css?ver=4.6.1' type='text/css' media='all' />
As you can see, it includes the parent, then the child and then the parent AGAIN!?
- The topic ‘Child-Theme not overriding parent’s CSS’ is closed to new replies.