Mit get_pages nur direkte untergeordnete Seiten in WordPress abrufen


20

Ich versuche, alle direkten Kinder einer Seite zu holen. Aber ich bekomme auch alle Kinder und Enkelkinder. Irgendwelche Ideen?

PHP Source:

$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 );
}

Mein $argssollte laut Dokumentation korrekt sein , aber es wird total ignoriert parentund hierarchical.

Meine Seitenstruktur ist wie folgt:

Elternteil -
Kind 1 -
Kind 2 -
Kind 1 bis Kind 2 -
Kind 2 bis Kind 2 -
Kind 3

Und ich will nur bekommen child 1, child 2und child 3.


Überlegen Sie sich auch die depthOption. eine andere Lösung , die ich gefunden und scheint zu funktionieren ist $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); hier können Sie ändern sort_columnund sort_ordernach Bedarf.
Rohit Pande

@RohitPande depthhat mir überhaupt nicht geholfen, Einstellung child_ofund parentgleich war es.
Volker E.

Antworten:


12

Bitte überprüfen Sie den Parameter 'parent'. Es scheint, dass nach dem Namen ein Leerzeichen steht.


Oh Gott. So dumm. Aber danke, das hat mir Zeit gespart. :)
Jamietelin

3

Mit dem Parameter 'depth' der Funktion "wp_list_pages" oder "get_pages" können wir festlegen, wie viele Ebenen wir abrufen möchten. Hier zeige ich also die erste untergeordnete Ebene der aktuellen Seite an.

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

Die Funktion get_pages scheint kein Tiefenargument zu haben oder ist zumindest nicht dokumentiert: developer.wordpress.org/reference/functions/get_pages .
14.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.