is_front_page();
“帖子页面”是否具有类似的功能。我注意到
is_page();
不适用于此特殊页面。感谢
#1 楼
is_home()
会检查“帖子页面”,尽管函数名称有些混乱。#2 楼
Wordpress带有7种主要模板页面类型,可以通过这种方式确定if ( is_main_query() ) {
// Error
if ( is_404() ) {
;
}
// Front page
if ( is_front_page() ) {
;
}
// Archive
if ( is_archive() ) {
;
}
// Comments popup
if ( is_comments_popup() ) {
;
}
// Search
if ( is_search() ) {
;
}
// Singular
if ( is_singular() ) {
;
}
// Home - the blog page
if ( is_home() ) {
;
}
}
is_home告诉您,您拥有博客页面。
#3 楼
“帖子页面”通常是以下内容的存档:类别的帖子
标签的帖子
日期(年,月...的帖子)
主档案的帖子
其中每个条件都可以通过许多条件标签之一进行检查,例如
is_category()
is_tag()
is_date()
is_archive()
等等。为了获得更好的理解,请转至法典http://codex.wordpress.org/Conditional_Tags
#4 楼
首先检查博客的相关内容,例如作者,标签,帖子类型function is_blog () {
global $post;
$posttype = get_post_type($post );
return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') ) ? true : false ;
}
现在检查并返回您想要的东西
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
像老板一样使用它
<?php echo check_post_type();?>
感谢Wes Bos
#5 楼
TL; DR情况A。无需在主模板文件(index.php)中确定它,因为它是它的默认模板[1]。
情况B.在内部确定它页面模板(例如:page.php),只需像这样进行检查:
get_option( 'page_for_posts' ) == get_the_ID()
详细信息
我从字面上看去挖掘它的源代码[2]只是为了能够知道wordpress是如何检查值的。事实证明,它使用语句
get_option( 'page_for_posts' )
来了解“帖子”页面所选值的帖子ID。因此,为此,没有类似于
is_front_page()
的正式检查器功能。只要知道所选页面的ID,就可以将其用于检查过程。
参考文献
WordPress Codex,主题开发, codex.wordpress.org/Theme_Development
设置的源代码›阅读设置,github.com / WordPress /.../ wp-admin / options-reading.php
评论
谢谢,我以为我检查了全部,但我想不是...
– Mike
2011年4月14日在18:02
$ wp_query-> is_posts_page呢?
– Weston Ruter
13年5月15日在8:03
@WestonRuter对问题有正确的答案。
– The J
17年1月19日在13:49