我用根作为我一直在研究的主题的起点。然后我生成了一个打印。css文件,但在Chrome的情况下,它仍然使用引导响应。css查询,把事情搞砸。
这answer on SO 解释了问题,我知道它解决了我的问题(尝试了)。
使用此
wp_enqueue_style(\'roots_bootstrap_responsive_style\', \'/css/bootstrap-responsive.css\', array(\'roots_bootstrap_style\'), null, \'screen\');
它总是发出
<link rel="stylesheet" href="/css/bootstrap-responsive.css">
当我真的需要它的时候
<link rel="stylesheet" href="/css/bootstrap-responsive.css" media="screen">
如果我尝试一些
other types listed on W3, 有些工作,有些不工作(电视从不渲染任何东西,但打印可以)。例如,我的print one工作正常:
wp_enqueue_style(\'roots_print_style\', \'/css/print.css\', false, null, \'print\');
我怎样才能让它工作?我只是在标题中这样做,而不使用wp\\u enqueue\\u样式,还是我遗漏了什么?我没有得到任何错误,并使用WP 3.5.1。
最合适的回答,由SO网友:jmlumpkin 整理而成
我找到了答案。Roots has a roots_clean_style_tag 这限制了除作为媒体类型的打印之外的所有内容。
我对我的进行了轻微的更新,只允许屏幕显示:
function roots_clean_style_tag($input) {
preg_match_all("!<link rel=\'stylesheet\'\\s?(id=\'[^\']+\')?\\s+href=\'(.*)\' type=\'text/css\' media=\'(.*)\' />!", $input, $matches);
// Only display media if it\'s print
if($matches[3][0] === \'print\'){
$media = \' media="print"\';
} elseif ($matches[3][0] === \'screen\'){
$media = \' media="screen"\';
}
else{
$media = \'\';
}
//$media = $matches[3][0] === \'print\' ? \' media="print"\' : \'\';
return \'<link rel="stylesheet" href="\' . $matches[2][0] . \'"\' . $media . \'>\' . "\\n";