我正在尝试创建一个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”主题来实现这一点。
提前感谢!
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\' );
}
}