Php 如何知道WordPress中博客页面的父页面ID?

Php 如何知道WordPress中博客页面的父页面ID?,php,wordpress,Php,Wordpress,我正在构建一个主题。我知道如何检索子页面的父页面。这是非常直截了当的 global $post; $parent_page = $post->post_parent // do with the post parent id whatever you need 但我的主要问题是。。。。 我设置了一个页面“右侧边栏”作为显示所有帖子的博客页面。此外,我还将右侧边栏页面设置为'Blog'页面的子页面。然后我使用var\u dump($post)在右侧边栏页面上搜索,我找不到[post\u p

我正在构建一个主题。我知道如何检索子页面的父页面。这是非常直截了当的

global $post;
$parent_page = $post->post_parent
// do with the post parent id whatever you need
但我的主要问题是。。。。 我设置了一个页面“右侧边栏”作为显示所有帖子的博客页面。此外,我还将右侧边栏页面设置为'Blog'页面的子页面。然后我使用
var\u dump($post)
在右侧边栏页面上搜索,我找不到
[post\u parent]=>int(0)
的任何属性值。但后父级有25个ID


如何知道已设置为博客页面的页面的父页面id?

您可以使用
page\u for\u posts
选项:

$posts_page_id = get_option('page_for_posts');
显示文章的页面的ID。当在页面上显示页面首页的值时非常有用

--


我通过做一些实验得到了答案。最后,答案是

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

谢谢

将此函数添加到您的theme functions.php文件中。此函数将从父页面返回页面id

function get_top_parent_page_id() { 
    global $post; 

    if ($post->ancestors) { 
        return end($post->ancestors); 
    } else { 
        return $post->ID; 
    } 
}

你好,我想你不明白我的问题。实际上,我想要子页面的父页面的ID,该子页面已通过设置->阅读->静态页面->发布页面==该子页面设置为“发布页面”。