替代样式表仅适用于链接的绝对地址?

时间:2011-07-26 作者:chris_s

当用户从和iPad访问我网站的博客部分时,我试图添加一个样式表。第一段代码可以工作,但是,我不想使用绝对路径。我想使用wordpress的函数。

function ipad_css() {
  if( preg_match(\'/ipad/i\',$_SERVER[\'HTTP_USER_AGENT\'])) {?>
<link rel="stylesheet" type="text/css" href="http://website/wp-content/themes/my_theme/ipad.css" media="screen" /> 
<?php }
  }
  add_action(\'init\',\'ipad_css\');
这似乎不起作用:

function ipad_css() {
  if( preg_match(\'/ipad/i\',$_SERVER[\'HTTP_USER_AGENT\'])) {?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo(\'template_directory\'); ?>/ipad.css" media="screen" /> 
<?php }
  }
  add_action(\'init\',\'ipad_css\');
我不明白为什么它不起作用。我正在努力stylesheet_url 也没有运气。

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

尝试替换<?php bloginfo(\'template_directory\'); ?> 具有<?php echo get_template_directory_uri(); ?>

而且,我不会把它挂在init行动,为什么不使用wp_print_styles 相反It is 毕竟是一种风格。

SO网友:PayteR

您可以使用此筛选器筛选出具有任何条件的样式,或者使用其他输出href(因此也可以删除/更改域)字符串。css文件,例如:

add_filter( \'style_loader_src\', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});

结束

相关推荐

将WordPress主题的css拆分成多个文件,好还是坏?

我正在开发WordPress主题框架。我想将每个部分的CSS组织到单独的文件中,原因如下。开发人员可以轻松地按父主题取消注册样式,并加载自己的样式</易于维护</根据用户选择的选项,我只能加载所需的样式不利Extra http请求=>服务器上的负载更大。在使用诸如wp minify之类的插件向用户提供CSS文件之前,可以通过组合所有CSS文件来解决这一缺点。但是,这种结合过程是否会超过上述优势。