Получение только прямых дочерних страниц в WordPress с помощью get_pages

20

Я пытаюсь получить все прямые дочерние страницы. Но я получаю всех детей и внуков. Есть идеи?

Источник 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.

jamietelin
источник
Попробуйте рассмотреть depthвариант также. другое решение, которое я нашел и, кажется, работает, $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); здесь вы можете изменить sort_columnи по sort_orderмере необходимости.
Рохит Панде
@RohitPande мне depthсовсем не помог, настройка child_ofи parentк тому же была.
Фолькер Э.

Ответы:

12

Пожалуйста, проверьте параметр 'parent'. Кажется, после имени есть пробел.

перераспределить
источник
О Боже. Так глуп. Но спасибо, это сэкономило мне время. :)
jamietelin
3

С помощью параметра 'глубина' функции "wp_list_pages" или "get_pages" мы можем определить, сколько уровней мы хотим получить. Итак, здесь я покажу все первые дочерние уровни текущей страницы.

            <?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 .
Клоддант