Ottenere solo pagine figlio dirette in WordPress con get_pages


20

Sto cercando di recuperare tutti i figli diretti di una pagina. Ma sto ricevendo anche tutti i bambini e i nipoti. Qualche idea?

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

Il mio $argsdovrebbe essere corretto secondo la documentazione , ma è totalmente ignorante parente hierarchical.

La mia struttura di pagina è la seguente:

Genitore
-Bambino 1
-Bambino 2
--Bambino 1 a figlio 2
--Bambino 2 a figlio 2
-Bambino 3

E voglio solo ottenere child 1, child 2e child 3.


Prova a considerare anche l' depthopzione. un'altra soluzione che ho trovato e sembra funzionare è $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); qui che puoi cambiare sort_columne sort_ordersecondo necessità.
Rohit Pande,

@RohitPande depthnon mi ha aiutato affatto, impostazione child_ofe parentlo stesso è stato.
Volker E.

Risposte:


12

Si prega di controllare il parametro 'genitore'. Sembra che ci sia uno spazio dopo il nome.


Oh Dio. Così stupido. Ma grazie, mi ha fatto risparmiare un po 'di tempo. :)
jamietelin,

3

Con il parametro 'depth' della funzione "wp_list_pages" o "get_pages", possiamo definire quanti livelli vogliamo recuperare. Quindi qui, mostrerò tutto il primo livello figlio della pagina corrente.

            <?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 funzione get_pages non sembra avere un argomento approfondito, o almeno non è documentata: developer.wordpress.org/reference/functions/get_pages .
Kloddant,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.