将样式表添加到特定页面

时间:2011-07-29 作者:kawiz

我已经为我的网站设置了一个页面作为主页。有专门针对主页的样式表,我不需要全局使用。我对WordPress还是新手,所以这让我很困惑。

我读过http://codex.wordpress.org/Function_Reference/wp_enqueue_style 但我仍然不明白如何将其纳入我的页面。谁能帮帮我吗?

2 个回复
SO网友:chrisjlee

使用wordpressconditional tags 有选择地排队/加载样式表。这是最佳实践,因此您也可以调用任何依赖项。

我在实践中提供了一个这样的例子。通常,我们只希望在首页中包含样式,然后根据您的子页进行相应的样式设置:

<?php 
// Is this the front page or home page  ?
if (is_front_page() && is_home() )  {
// if so then lets enqueue this!
// for reference the function uses the following parameters:
// wp_enqueue_style( $handle, $src, $deps, $ver, $media ) ?
  wp_enqueue_style( \'mystyle\', TEMPLATEPATH . \'foo.css\', array(\'my-dependency-styles\', \'reset-style\'), \'1.0.1\', \'only screen and print\' ); 
} else {  
  wp_enqueue_style( \'mystyle\', TEMPLATEPATH . \'sub-page.css\', array(\'my-dependency-styles\', \'reset-style\'), \'1.0.1\', \'only screen and print\' ); ?>
  }

SO网友:t31os

使用一个动作挂钩将排队附加到具有条件逻辑的特定页面,类似于Chris的方法,只是包装在一个函数中。

add_action( \'wp_enqueue_scripts\', \'enqueue_custom_styles_or_scripts\' );

function enqueue_custom_styles_or_scripts() {

    // If it\'s not the front page, stop executing code, ie. return
    if( !is_front_page() )
        return;

    // Else we reach here and perform the enqueue
    wp_enqueue_style( \'your-style-handle\', get_stylesheet_directory_uri() . \'/yourfile.css\' );

}
注意,尽管有动作名称,但它也适用于样式,我希望开发人员要么重命名它,要么在它旁边添加一个样式,命名会表明它仅用于脚本(但事实并非如此)。

您可以将代码添加到主题函数的顶部。打开php标记后的php文件(<?php) 在新的线路上。

结束

相关推荐

将WordPress主题的css拆分成多个文件,好还是坏?

我正在开发WordPress主题框架。我想将每个部分的CSS组织到单独的文件中,原因如下。开发人员可以轻松地按父主题取消注册样式,并加载自己的样式</易于维护</根据用户选择的选项,我只能加载所需的样式不利Extra http请求=>服务器上的负载更大。在使用诸如wp minify之类的插件向用户提供CSS文件之前,可以通过组合所有CSS文件来解决这一缺点。但是,这种结合过程是否会超过上述优势。