Obtener solo páginas hijas directas en WordPress con get_pages
Estoy tratando de obtener todos los hijos directos de una página. Pero estoy obteniendo todos los hijos y nietos también. ¿Alguna idea?
Código 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 );
}
Mis $args
deberían ser correctos según la documentación, pero está ignorando completamente parent
y hierarchical
.
Mi estructura de páginas es la siguiente:
Padre
-Hijo 1
-Hijo 2
--Hijo 1 de hijo 2
--Hijo 2 de hijo 2
-Hijo 3
Y solo quiero obtener hijo 1
, hijo 2
y hijo 3
.

Con el parámetro 'depth' de la función "wp_list_pages" o "get_pages", podemos definir cuántos niveles queremos recuperar. Así que aquí, mostraré todos los hijos de primer nivel de la página actual.
<?php global $post;
wp_list_pages( array(
'child_of' => $post->ID, // Solo páginas que son hijas de la página actual
'depth' => 1 , // Mostrar solo un nivel de jerarquía
'sort_order' => 'asc'
));
?>

La función get_pages no parece tener un argumento de profundidad, o al menos no está documentado: https://developer.wordpress.org/reference/functions/get_pages/.
