[英]Wordpress - How can I assign separate stylesheets to different pages?
我想弄清楚如何为不同的页面分配单独的样式表? 我不会在首页上使用相同的样式表,在博客及其相关页面上使用页面模板,也不会使用其他样式表。
我的主题仅包括一个首页,一个页面模板和一个博客。 因此,我将需要弄清楚如何与实际页面区分开。 它需要应用于所有博客页面。
所以我想知道是否可以做这样的事情(添加到标题中):
<?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 } ?>
如果是首页或页面模板,则使用常规样式表。 如果还有其他内容,它将使用博客样式表。 如果可以那样做,有人可以在语法方面帮助我吗?
根据您的情况,最好的方法通常是在一个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
jsrgnt答案几乎可以找到。 但是,如果您需要使用不同的样式表, wp_enqueue_scripts
在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 */ );
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.