我正在加载我孩子的主题style.css
在父主题之后style.css
已加载。然而,我注意到style.css
不需要排队,因为它是由WordPress内核隐式排队的。
所以我明确地把它排成这样,它依赖于parent-style
已加载:
function enqueue_theme_styles() {
wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
wp_enqueue_style( \'child-style\', get_stylesheet_directory_uri(). \'/style.css\', array(\'parent-style\') );
}
add_action( \'wp_enqueue_scripts\', \'enqueue_theme_styles\', PHP_INT_MAX );
问题是现在
loaded twice. 一次隐式,然后显式。我怎样才能装我孩子的
style.css
在家长没有加载两次之后?
下面是head
看起来像:
<head>
<meta charset="<?php bloginfo( \'charset\' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php bloginfo(\'name\'); ?> | <?php is_front_page() ? bloginfo(\'description\') : wp_title(\'\'); ?></title>
<?php if(isset($themeum[\'favicon\'])){ ?>
<link rel="shortcut icon" href="<?php echo $themeum[\'favicon\']; ?>" type="image/x-icon"/>
<?php }else{ ?>
<link rel="shortcut icon" href="<?php echo get_template_directory_uri().\'/images/plus.png\' ?>" type="image/x-icon"/>
<?php } ?>
<link rel="stylesheet" type="text/css" href="">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( \'pingback_url\' ); ?>">
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
<?php if(isset($themeum[\'before_head\'])) echo $themeum[\'before_head\'];?>
<?php wp_head(); ?>
</head>
最合适的回答,由SO网友:bravokeyl 整理而成
正如@Andy Macaulay Brook指出的,WordPress不会加载child-theme\'s
style.css
. 我想家长主题可能正在排队。
取消子主题的队列style.css
先排队,然后排队parent\'s 风格css之前child theme\'s 风格css取消子主题的队列style.css
您可以取消子主题样式的队列。通过使用句柄创建css。您可以通过查看父主题(假设它是从父主题加载的)或查看页面源的链接来找到句柄。
例如:
使用从网站链接Twenty Fifteen theme
看起来像这样
<link rel=\'stylesheet\' id=\'twentyfifteen-style-css\' href=\'http://wp.dev/wp-content/themes/twentyfifteen/style.css?ver=4.5.3-alpha-37528\' type=\'text/css\' media=\'all\' />
其句柄为
twentyfifteen-style
哪个是
id 链接标记的,但没有
-css
.
所以我们可以使用wp_dequeue_style
挂钩到wp_enqueue_scripts
wp_dequeue_style(\'twentyfifteen-style\');
排队
parent\'s 风格css之前
child theme\'s 风格css(取决于依赖项列表)通过更改
wp_enqueue_scripts
挂钩小于默认值(10)并加载父主题
style.css
. (我对此不确定,必须检查)
function wpse_227769_enqueue_scripts() {
//Load parent theme style.css here
}
add_action( \'wp_enqueue_scripts\', \'wpse_227769_enqueue_scripts\', 9 );