使用wp入队样式创建专门用于页面模板的css文件

时间:2015-11-05 作者:matthew

我正在尝试创建一个CSS文件,它只适用于一个页面模板。我正在尝试使用wp排队方式来完成它,但到目前为止没有任何效果。

我能够在我的标题中使用以下内容使其工作(某种程度上)。php。

   <?php if( is_page_template(\'background-slider-template.php\') ) { ?> 
    <link rel="stylesheet" href="<?php bloginfo(\'stylesheet_directory\'); ?>/background-slider-template.css" type="text/css" media="screen" />
    <?php } ?>
我知道这不是正确的方法,我尝试了以下使用wp排队风格的方法。

function register_more_stylesheets() {
    wp_register_style( \'stylesheet_name\', get_stylesheet_directory_uri() . \'/styledtwentyfifteen/background-slider-template.css\' );
}
function add_my_stylesheet() {
    if ( is_page_template( \'/styledtwentyfifteen/background-slider-template.php\' ) ) { // using page slug
    wp_enqueue_style( \'stylesheet_name\', get_stylesheet_uri() . \'/styledtwentyfifteen/background-slider-template.css\');  // no brackets needed for one line and no else
}
}
add_action( \'init\', \'register_more_stylesheets\' ); // should I use wp_print_styles hook instead?
add_action( \'wp_enqueue_scripts\', \'add_my_stylesheet\' );
虽然我感觉自己很亲近,但这根本不起作用。

我不知道这是否会影响什么,但我使用了一个儿童主题,即“215”主题来实现这一点。

提前感谢!

1 个回复
SO网友:bonger

如果“/styledtwenty十五”是您的子目录,那么它包含在get_stylesheet_directory_uri() (其中bloginfo(\'stylesheet_directory\') 是别名),因此您应该在注册时忽略它:

function register_more_stylesheets() {
    wp_register_style( \'stylesheet_name\', get_stylesheet_directory_uri() . \'/background-slider-template.css\' );
}
与类似is_page_template() 你只需要文件名(相对于模板目录),如果你注册了一个样式,你应该在排队时使用它的句柄:

function add_my_stylesheet() {
    if ( is_page_template( \'background-slider-template.php\' ) ) { // using page slug
        wp_enqueue_style( \'stylesheet_name\' );
    }
}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请