Obtenir uniquement les pages enfants directes dans WordPress avec get_pages

16

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 $args devrait être correct selon la documentation , mais ignore totalement parent et hierarchical . .

La structure de ma page est la suivante:

  

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

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

    
posée jamietelin 27.11.2012 - 13:12

2 réponses

10

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

    
réponse donnée realloc 27.11.2012 - 14:05
2

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

            <?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'
                ));
            ?>
    
réponse donnée Romain 22.07.2013 - 13:01

Lire d'autres questions sur les étiquettes