在“阅读设置”页面上,您可以设置“首页”和“帖子页面”。您可以检查当前页面is_front_page();

“帖子页面”是否具有类似的功能。我注意到is_page();不适用于此特殊页面。

感谢

#1 楼

is_home()会检查“帖子页面”,尽管函数名称有些混乱。

评论


谢谢,我以为我检查了全部,但我想不是...

– 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

#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