繁体   English   中英

WordPress-如何为不同的页面分配单独的样式表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM