我的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解决方案来获得我想要的一个函数调用?
答案 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);