如何识别当前页面在中显示的类别<head>
? 以下是我现在掌握的代码:
<?php if ( is_home() ) { ?>
<!-- set up for home page ad -->
<?php } elseif ( in_category( \'Restaurant Reviews\' )) { ?>
<!-- set up for restaurant reviews ad -->
<?php } else { ?>
<!-- set up for run of site ad -->
<?php } ?>
此代码在我的“餐厅评论”页面失败。。。它始终选择“运行站点”选项。
作为测试,在页面下方,我使用the_category()
为了了解WP认为当前页面使用了哪些类别,我得到了“切尔西、曼哈顿、纽约、餐厅评论”。当然in_category()
命令在我的页面的下半部分正确工作,并且可以正确识别它是否属于“餐厅评论”类别。
所以,在那里<head>
, 我如何判断自己何时属于“餐厅评论”类别?
最合适的回答,由SO网友:Chip Bennett 整理而成
这个in_category( $category )
仅当当前帖子分配了指定的类别时,conditional才会返回true。如果要确定何时category archive index page, 您应该改为使用is_category( $category )
:
if ( is_category( \'Restaurant Reviews\' ) ) {
// The current page is the Restaurant Reviews
// category archive index page; do something
}
旁注:
is_home()
当当前页面是博客帖子索引时,返回true,但对于站点首页而言,这并不总是真的。如果站点使用静态首页,则博客帖子索引将位于单独的静态页面上,并且
is_home()
将
not 在站点首页返回true。因此,如果您真的打算查询
site front page, 使用
is_front_page()
:
<?php
if ( is_front_page() ) {
// set up for home page ad
} elseif ( is_category( \'Restaurant Reviews\' )) {
// set up for restaurant reviews ad
} else {
// set up for run of site ad
}
?>