Obtenir uniquement des pages enfants directes dans WordPress avec get_pages


20

J'essaie de récupérer tous les enfants directs d'une page. Mais je reçois aussi tous les enfants et petits-enfants. Des idées?

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

Mon $argsdevrait être correct selon la documentation , mais c'est totalement ignorer parentet hierarchical.

Ma structure de page est la suivante:

Parent
-Enfant 1
-Enfant 2
--Enfant 1 à enfant 2
--Enfant 2 à enfant 2
-Enfant 3

Et je veux seulement obtenir child 1, child 2et child 3.


Essayez également d'envisager cette depthoption. une autre solution que j'ai trouvée et qui semble fonctionner est $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); ici que vous pouvez changer sort_columnet sort_orderselon vos besoins.
Rohit Pande

@RohitPande depthne m'a pas aidé du tout, à régler child_ofet parentà la même chose.
Volker E.

Réponses:


12

Veuillez vérifier le paramètre «parent». Il semble qu'il y ait un espace après le nom.


Oh mon Dieu. Tellement stupide. Mais merci, cela m'a fait gagner du temps. :)
jamietelin

3

Avec le paramètre 'depth' de la fonction "wp_list_pages" ou la fonction "get_pages", nous pouvons définir le nombre de niveaux que nous voulons récupérer. Alors ici, je vais afficher tout le premier niveau enfant de la page actuelle.

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

La fonction get_pages ne semble pas avoir d'argument de profondeur, ou du moins elle n'est pas documentée: developer.wordpress.org/reference/functions/get_pages .
kloddant
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.