有条件的声明,将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_singleis_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

回到顶部