如何将不同的样式表分配给不同的页面?

时间:2013-11-23 作者:user1632018

我想知道如何为不同的页面分配一个单独的样式表?我不想对我的首页使用相同的样式表,对我的博客及其相关页面使用不同的页面模板和样式表。

我的主题仅由首页、页面模板和博客组成。因此,我需要找出如何与实际页面进行区分。它需要应用于所有博客页面。

所以我想知道我是否可以这样做(添加到标题):

<?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 } ?>
如果是首页或页面模板,则使用普通样式表。如果是其他内容,则使用博客样式表。如果可以这样做,有人能帮我理解语法吗?

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

正确的方法是通过连接到wp_enqueue_scripts. 您可以在回调中添加上下文条件:

function wpse124258_enqueue_scripts() {
    if ( ! is_admin() ) {    
        // Conditionally enqueue
        if ( is_front_page() ) {
            // Front page stylesheet
            wp_enqueue_style( \'front-page-style\', get_template_directory_uri() . \'/front-page-stylesheet.css\' );
        } else if ( is_page() ) {
            // Static page style
            wp_enqueue_style( \'static-page-style\', get_template_directory_uri() . \'/front-page-stylesheet.css\' );
        } else {
            // Default style
            wp_enqueue_style( \'default-style\', get_stylesheet_uri() );
        }
    }
}
add_action( \'wp_enqueue_scripts\', \'wpse124258_enqueue_scripts\' );
有关更多信息,请参阅wp_enqueue_style().

SO网友:s_ha_dum

你要找的是conditional tags, 尤其地is_front_page, is_pageis_page_template

您的代码可能如下所示:

if ( is_front_page() ) { ?>
  <link rel="stylesheet" href="<?php bloginfo(\'stylesheet_url\'); ?>"type="text/css" media="screen" /><?php 
} elseif ( is_page() ) { ?>
  <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 
}
但是,如果要针对特定模板,可以使用is_page_template:

if (is_page_template(\'some-template.php\')) {

结束

相关推荐

如何将引导脚本正确注册到WordPress unctions.php中?

我对bootstrap和WordPress还不熟悉,我正在尝试将一个简单的页面组合在一起。因此,我在添加和注册来自页眉和页脚的脚本时遇到依赖性问题并不奇怪。这里有什么明显的东西我遗漏了吗?<?php function wpbootstrap_scripts_with_jquery() { // Register the script like this for a theme: wp_register_script( \'custom-script\', get_template_dire