在WordPress页面上加载不同的样式表?

时间:2011-06-27 作者:Wordpressor

我有一个样式表链接到我的Wordpress页面的标题部分:

<link rel="stylesheet" type="text/css" href="<?php bloginfo(\'template_directory\'); ?>/style.css" />
现在,我想在几个页面或子页面上加载不同的样式表。

实现这一目标的最佳/正确方法是什么?

我正在考虑写一个名为“wp\\u enqueue\\u style”的短代码,这是个好主意吗?

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

不要使用短代码wp_enqueue_style(); 它不会有任何好处,因为在解析短代码时,所有相关的钩子(wp_head, wp_print_styles) 已经开火了。

在中写入函数functions.php, 根据将不同的样式表排队is_page( $id ) (其中$id 可以是ID、slug或title)。然后将该函数挂接到wp_enqueue_scripts.

p、 注意:您应该使用get_stylesheet_uri() 在默认样式表链接中,例如:

<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>/style.css" />

SO网友:PayteR

如果您只想替换任何样式href位置,可以使用此筛选器,例如:

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

结束