2013-04-17 56 views
1

我试图在Wordpress中使用is_page()条件来检测当前页面是否是博客列表页面(或实际上是博客文章页面)。该条件适用于任何其他页面(联系,whats-on等),但由于某种原因,它不适用于博客页面。Wordpress is_page()博客文章列表页面

加上实际的博客帖子页面 - 网址是www.domain.com/the-post-title格式,所以我无法在$ _SERVER或任何其他网址中检查'blog'。任何帮助将非常感激。

回答

0

你可能需要做is_home()的组合 - 如果你的主页是博客

或基于博客文章

引用类型is_single():http://codex.wordpress.org/Conditional_Tags#A_Single_Post_Page

+0

感谢您的答复!不幸的是,博客页面不在家,它在/博客。我不明白为什么if(is_page('contact'))对于联系我们页面是真实的,但是如果(is_page('blog'))对于Blog不是真的。我也尝试了页面ID(5),结果相同。 – splscs

+0

确保您试图检索的是“博客”页面的实际“slug” –

+3

您是否也试过了is_home('blog'); ? –

0

根据到this文章,这是你如何使用这些种条件功能:

if (is_front_page() && is_home()){ 
    // Default homepage 
} elseif (is_front_page()){ 
    //Static homepage 
} elseif (is_home()){ 
    //Blog page 
} else { 
    //everything else 
} 
+0

谢谢 - 我会为未来记住这一点。 is_home()用于博客帖子列表页面...不直观。 Intuitive会将这些函数与这些注释进行匹配 - is_default_homepage(),is_blog_page()等。嗯,我会记住这个未来:-) – splscs

1

我们需要检查:

  • 如果此页面是博客页面。
  • 如果这页是 “网页上岗”

    function is_page_for_posts() { 
        $result = false; 
    
        if (is_home() && ! is_front_page()) { 
         $page = get_queried_object(); 
    
         $result = ! is_null($page) && $page->ID == get_option('page_for_posts'); 
        } 
    
        return $result; 
    }