如何判断页面是否包含自定义帖子类型的子页面

时间:2018-06-03 作者:Marifer Villarroel

我想显示一个页面,这取决于它是否有子页面。

也就是说,如果有子页面,则不显示子页面,只显示子页面所属的父页面。

类似这样:

Books of science
  Book 1
  Book 2
<小时>
Books of science fiction
  Book 1
  Book 2
我有一个主页,我想在其中显示所有书籍,即所有主页:

Books of science
Books of science fiction
我的想法是,不要显示子页面,因为这在我的案例中没有意义。

有可能吗?

1 个回复
SO网友:Kashan Shah

此代码将返回一个数组,其中包含具有子页的所有页的ID。希望您正在查找:)

$args = array(
    \'post_type\' => \'page\',
    \'post_status\' => \'publish\'
);
$parentPages = array(); // an empty array to store pages with childs
$pages = get_pages($args); 
// Looping through all pages and then we\'ll check for the pages with child
foreach($pages as $page) {
    if($page->post_parent != 0){ // checking if the page has any parent
        // checking if parent page isn\'t in our array already
        if(!in_array($page->post_parent, $parentPages)) { 
            array_push($parentPages, $page->post_parent);
        }
    }
}
print_r($parentPages);

结束