我想弄清楚如何为不同的页面分配单独的样式表?我不想为我的首页使用相同的样式表,为我的博客及其相关页面使用页面模板和不同的样式表。
我的主题只包括首页,页面模板和博客。所以我想知道如何区分实际页面。它需要应用于所有博客页面。
所以我想知道我是否可以做这样的事情(添加到标题中):
<?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 } ?>
如果是首页或页面模板,则使用普通样式表。如果是其他任何内容,则使用博客样式表。如果可以这样做,任何人都可以帮我解释语法吗?
答案 0 :(得分:4)
根据您的具体情况,通常这样做的最佳方法是在一个CSS样式表中。
您可以使用page-id
选择器定位CSS文档中的特定WordPress页面:
.page-id-156 h1 { color: red; }
或者您可以按页面模板定位
.page-template-blog div { border: 1px solid black; }
在body_class()
中使用header.php
函数时,这些类会自动附加到body元素
<body <?php body_class(); ?>
此处有关于该功能的更多信息http://codex.wordpress.org/Function_Reference/body_class
答案 1 :(得分:0)
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 */ );
}
}