2017-06-12 153 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; 
    } 
} 
相关问题