Answers:
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告诉您,您拥有博客页面。
“帖子页面”通常是以下内容的档案:
这些条件中的每一个都可以通过诸如is_category()
is_tag()
is_date()
is_archive()
And这样的许多条件标签之一进行检查
。为了更好地理解,请转至法典http://codex.wordpress.org/Conditional_Tags
首先检查博客相关内容,例如作者,标签,帖子类型
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
方案A。不需要在主模板文件(index.php)中确定它,因为它是它的默认模板[1]。
情况B。要在页面模板(例如:page.php)中确定它,只需像这样检查它:
get_option( 'page_for_posts' ) == get_the_ID()
我实际上是去研究它的源代码[2],以便能够知道wordpress如何检查值。事实证明,它正在使用该语句get_option( 'page_for_posts' )
来了解Posts页面中所选值的post ID 。
是的,为此,没有类似于的官方检查器功能is_front_page()
。
只要您知道所选页面的ID,就可以将其用于检查过程。
WordPress Codex,主题开发,codex.wordpress.org / Theme_Development
设置的源代码› 阅读设置,github.com/WordPress/.../wp - admin/options - reading.php