2017-06-12 155 views
0

我正在構建一個主題。我知道如何檢索子頁面的父頁面。這非常簡單。如何知道WordPress中博客頁面的父頁面ID?

global $post; 
$parent_page = $post->post_parent 
// do with the post parent id whatever you need 

但我的主要問題是.... 我設置頁面「右側邊欄」在正在顯示所有的帖子在博客頁面。以及我將右側邊欄頁面設置爲'Blog'頁面的子頁面。然後我使用var_dump ($post)在右側的頁面上進行搜索找不到任何屬性值[post_parent]=> int(0)。但後父母有25個ID。

如何知道已設置爲博客頁面的頁面的父頁面ID?

回答

0

可以使用page_for_posts選項:

$posts_page_id = get_option('page_for_posts'); 

顯示帖子的頁面的ID。 show_on_front的值爲頁面時有用。

- WordPress Codec

+0

你好,我想你沒有得到我的問題。其實我想要從設置 - >閱讀 - >靜態頁面 - >帖子頁面==那個子頁面設置爲'帖子頁面'的子頁面的父頁面的ID。 –

0

我做一些實驗得到了答案。最後的答案是

global $wp_query; 
$parent_post_id = $wp_query->queried_object->post_parent; 

感謝

0

此功能在您的主題functions.php文件添加。該函數將從父頁面返回頁面標識。

function get_top_parent_page_id() { 
    global $post; 

    if ($post->ancestors) { 
     return end($post->ancestors); 
    } else { 
     return $post->ID; 
    } 
} 
相關問題