Obținerea doar a paginilor copil directe în WordPress cu get_pages
Încerc să extrag toate paginile copil directe ale unei pagini. Dar primesc toate paginile copil și nepot. Aveți vreo idee?
Codul 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 );
}
Parametrii mei din $args
ar trebui să fie corecți conform documentației, dar sunt complet ignorate opțiunile parent
și hierarchical
.
Structura paginii mele este următoarea:
Părinte
-Copil 1
-Copil 2
--Copil 1 al copilului 2
--Copil 2 al copilului 2
-Copil 3
Și vreau să obțin doar copil 1
, copil 2
și copil 3
.

Cu parametrul 'depth' al funcției "wp_list_pages" sau "get_pages", putem defini câte niveluri dorim să preluăm. Aici voi afișa toate paginile copil de prim nivel ale paginii curente.
<?php global $post;
wp_list_pages( array(
'child_of' => $post->ID, // Doar paginile care sunt copii ai paginii curente
'depth' => 1 , // Afișează doar un nivel de ierarhie
'sort_order' => 'asc'
));
?>

Funcția get_pages nu pare să aibă un argument depth, sau cel puțin nu este documentat: https://developer.wordpress.org/reference/functions/get_pages/.
