PHP来源:
$args = array(
'child_of' => $post->ID,
'parent ' => $post->ID,
'hierarchical' => 0,
'sort_column' => 'menu_order',
'sort_order' => 'asc'
);
$mypages = get_pages( $args );
foreach( $mypages as $post )
{
$post_tempalte = the_page_template_part();
get_template_part( 'content' , $post_tempalte );
}
根据文档,我的
$args
应该是正确的,但是完全忽略了parent
和hierarchical
。 我的页面结构如下:
父母
-孩子1
-孩子2
-孩子1 to child 2
--Child 2 to child 2
-Child 3
我只想获取
child 1
,child 2
和child 3
。#1 楼
请检查参数“父母”。名称后面似乎有空格。评论
天啊。如此愚蠢。但是,谢谢,这为我节省了一些时间。 :)
–杰米特林
2012年11月27日14:45
#2 楼
通过“ wp_list_pages”或“ get_pages”函数的参数“ depth”,我们可以定义要检索的层数。因此,在这里,我将显示当前页面的所有第一个子级别。 <?php global $post;
wp_list_pages( array(
'child_of' => $post->ID, // Only pages that are children of the current page
'depth' => 1 , // Only show one level of hierarchy
'sort_order' => 'asc'
));
?>
评论
get_pages函数似乎没有深度参数,或者至少没有文档记录:developer.wordpress.org/reference/functions/get_pages。
– kloddant
19-10-14在15:26
评论
也尝试考虑使用深度选项。我发现并且似乎可行的另一种解决方案是$ mypages = get_pages('child_of ='。$ post-> ID。'&sort_column = post_date&sort_order = desc&parent ='。$ post-> ID);在这里,您可以根据需要更改sort_column和sort_order。@RohitPande的深度完全没有帮助我,将child_of和parent设置为相同。