我正在尝试弄清楚如何为不同的页面分配一个独立的样式表?我不想对我的首页使用相同的样式表,对我的博客和相关页面使用不同的样式表和页面模板。
我的主题只包括一个首页,一个页面模板和一个博客。因此,我需要弄清楚如何与实际页面区分开来。它需要应用于所有的博客页面。
所以我想知道我是否可以这样做(添加到标题中):
<?php if ( 'front-page.php' ) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); type="text/css" media="screen" />
<?php } elseif ( 'page.php' ) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<?php } ?>如果是首页或页面模板,则使用普通样式表。如果是其他内容,则使用博客样式表。如果可以这样做,有没有人能帮我解决语法问题呢?
发布于 2013-11-24 09:11:41
根据您的情况,通常最好的方法是在一个CSS样式表中完成所有这些工作。
您可以通过使用page-id选择器来定位CSS文档中的特定WordPress页面,如下所示:
.page-id-156 h1 { color: red; }或者,您可以通过页面模板来确定目标
.page-template-blog div { border: 1px solid black; }在header.php中使用body_class()函数时,这些类会自动附加到body元素,如下所示
<body <?php body_class(); ?>这里有关于该函数的更多信息,http://codex.wordpress.org/Function_Reference/body_class
发布于 2013-11-24 11:04:04
jsrgnt answer在很大程度上说对了。但如果您需要使用不同的样式表,请在functions.php上使用wp_enqueue_scripts:
add_action( 'wp_enqueue_scripts', 'enqueue_so_20169099' );
function enqueue_so_20169099()
{
# http://codex.wordpress.org/Conditional_Tags
if( is_something() )
{
wp_enqueue_script( /* etc */ );
}
}https://stackoverflow.com/questions/20169099
复制相似问题