Pobieranie tylko bezpośrednich stron potomnych w WordPressie z get_pages


20

Próbuję pobrać wszystkie bezpośrednie elementy podrzędne strony. Ale dostaję także wszystkie dzieci i wnuki. Jakieś pomysły?

Źródło 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 );
}

Mój $argspowinien być poprawny zgodnie z dokumentacją , ale to całkowicie ignoruje parenti hierarchical.

Struktura mojej strony jest następująca:

Dominująca
-Child 1
-Child 2
--Child 1 do dziecka 2
--Child 2 do dziecka 2
-Child 3

A ja tylko chcę dostać child 1, child 2i child 3.


Spróbuj również rozważyć tę depthopcję. innym rozwiązaniem, które znalazłem i wydaje się działać, jest $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); tutaj, które możesz zmienić sort_columni sort_orderwedług potrzeb.
Rohit Pande

@RohitPande depthwcale mi nie pomógł, ustawienia child_ofi parenttak samo było.
Volker E.,

Odpowiedzi:


12

Sprawdź parametr „rodzic”. Wydaje się, że po nazwie jest spacja.


O Boże. Tak głupi. Ale dziękuję, że zaoszczędziłem trochę czasu. :)
jamietelin

3

Za pomocą parametru „depth” funkcji „wp_list_pages” lub „get_pages” możemy określić, ile poziomów chcemy pobrać. Więc tutaj wyświetlę cały pierwszy poziom potomka bieżącej strony.

            <?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'
                ));
            ?>

Wygląda na to, że funkcja get_pages nie ma argumentu głębokości lub przynajmniej nie jest udokumentowana: developer.wordpress.org/reference/functions/get_pages .
kloddant
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.