有条件的声明,将image.php中的CSS入队
我正在尝试在WordPress子主题中创建一个新的附件页面。有条件的声明,将image.php中的CSS入队
我已经创建image.php,并在我的函数中我想获得一个新的CSS文件加载。我已经有这个存档页面,似乎工作正常。我曾尝试将是页面模板(image.php),是固定的,但似乎并没有工作
if (is_archive()) { wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/archive.css');
} elseif (is_page_template('image.php')) {
wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/attachment.css');
} elseif (is_attachment()) {
wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/attachment.css');
}
回答:
两点需要了解:
1)is_page_template
功能是有用的确定当前的页面模板(如果使用),页面模板是不同的概念,然后是模板层次结构。您可以在食品检查的详细信息:
Page Templates
Template Hierarchy
2)在functions.php
,你需要确定是否越来越显示图片附件,在这种情况下,@PieterGoosen已经正确地指出,你需要使用is_single
和is_attachment
模板标签,还可以检查附件mime-type
的形象,所以代码应该是这样的:
function add_css_conditionally() { if (is_archive()) {
wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/archive.css');
} elseif (is_single() && is_attachment()) {
if(stripos($wp_query->post->post_mime_type, 'image') !== false) {
wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/attachment.css'); // for image attachments, should be different css file.
} else {
wp_enqueue_style('newlayout-style' , get_stylesheet_directory_uri() . '/layouts/attachment.css');
}
}
}
add_filter('wp_enqueue_scripts', 'add_css_conditionally');
以上是 有条件的声明,将image.php中的CSS入队 的全部内容, 来源链接: utcz.com/qa/260877.html