2013-04-17 58 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; 
    }