使用否定条件标记将CSS入队

时间:2015-01-23 作者:Barbara

我正在purecss之上构建一个主题。io。为了使网格响应速度更快,我需要添加this stylesheet. 来自函数。php

function load_css() {

wp_enqueue_style ( \'purecss-all-not-ie\', \'http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css\', array( \'purecss\' ), null );
wp_style_add_data ( \'purecss-all-not-ie\', \'conditional\', \'gt IE 8\' );

add_action( \'wp_enqueue_scripts\', \'load_css\' );
输出为

<!--[if gt IE 8]>
<link rel=\'stylesheet\' id=\'purecss-new-ie-css\'  href=\'http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css\' type=\'text/css\' media=\'all\' />
<![endif]-->
但是,正确的条件标记应为<!--[if gt IE 8]><!-->

我发现了一些讨论herehere 但我有点不知所措,因为我不明白提议的解决方案是什么。我该怎么办?

1 个回复
最合适的回答,由SO网友:bonger 整理而成

这只虫子才4岁,你不会想催他们吧?!一种解决方法是省去wp_style_add_data() 并使用\'style_loader_tag\' 过滤器:

add_filter( \'style_loader_tag\', function ( $tag, $handle ) {
    if ( $handle  == \'purecss-all-not-ie\' ) {
        $tag = "<!--[if gt IE 8]><!-->\\n" . $tag . "<!--<![endif]-->\\n";
    }
    return $tag;
}, 10, 2 );

结束

相关推荐