Я пытаюсь получить все прямые дочерние страницы. Но я получаю всех детей и внуков. Есть идеи?
Источник 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 - детям 2 -
Дети 2 - детям 2 -
Дети 3
И я хочу только получить child 1
, child 2
и child 3
.
php
loop
pages
page-template
jamietelin
источник
источник
depth
вариант также. другое решение, которое я нашел и, кажется, работает,$mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID);
здесь вы можете изменитьsort_column
и поsort_order
мере необходимости.depth
совсем не помог, настройкаchild_of
иparent
к тому же была.Ответы:
Пожалуйста, проверьте параметр 'parent'. Кажется, после имени есть пробел.
источник
С помощью параметра 'глубина' функции "wp_list_pages" или "get_pages" мы можем определить, сколько уровней мы хотим получить. Итак, здесь я покажу все первые дочерние уровни текущей страницы.
источник