Ottenere solo le pagine figlie dirette in WordPress con get_pages
Sto cercando di recuperare tutte le pagine figlie dirette di una pagina. Ma ottengo anche tutte le pagine figlie e le pagine nipoti. Qualche idea?
Codice 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 );
}
I miei $args
dovrebbero essere corretti secondo la documentazione, ma sta completamente ignorando parent
e hierarchical
.
La mia struttura delle pagine è la seguente:
Genitore
-Figlio 1
-Figlio 2
--Figlio 1 del figlio 2
--Figlio 2 del figlio 2
-Figlio 3
E voglio ottenere solo figlio 1
, figlio 2
e figlio 3
.

Con il parametro 'depth' della funzione "wp_list_pages" o "get_pages", possiamo definire quanti livelli vogliamo recuperare. Quindi qui, visualizzerò tutti i primi livelli figlio della pagina corrente.
<?php global $post;
wp_list_pages( array(
'child_of' => $post->ID, // Solo le pagine che sono figlie della pagina corrente
'depth' => 1 , // Mostra solo un livello della gerarchia
'sort_order' => 'asc'
));
?>

La funzione get_pages sembra non avere un argomento depth, o almeno non è documentato: https://developer.wordpress.org/reference/functions/get_pages/.
