在没有父母的情况下获取wordpress中的所有子页面

时间:2016-05-23 13:53:25

标签: wordpress

我的wordpress网站有这样的页面:

-home
   -about
   -history
-contact
   -office1
   -office2
   -office3
-solutions
   -corporate

菜单结构也一样。我怎样才能将子页面作为一个数组,这样我就可以得到这样的结果:

-about
-history
-office1
-office2
-office3
-corporate

我想要所有深度为1的页面。现在我正在使用此功能:

$pagelist = get_pages('sort_column=menu_order&sort_order=asc');
$pages = array();
foreach ($pagelist as $page) {
   $pages[] += $page->ID;
}

但在这里我也得到了父页面。我可以做一个循环从数组中删除父页面,但有没有任何wordpress解决方案来获得我想要的一个函数调用?

1 个答案:

答案 0 :(得分:0)

您可以使用WP_Query对象执行此操作:

$children_query = new WP_Query(array(
    'post_type'           => 'page',
    'orderby'             => 'menu_order',
    'order'               => 'ASC',
    'post_parent__not_in' => array('0')
));
$children_pages = array();
if($children_query->have_posts()){
    while($children_query->have_posts()){
        $children_query->the_post();
        $children_pages[] = get_the_ID();
    }
    wp_reset_postdata();
}
var_dump($children_pages);