Getting only direct child pages in WordPress with get_pages

I am trying to fetch all direct children of a page. But I am getting all children and grand children as well. Any ideas?

PHP Source:

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

My $args should be correct according to the documentation, but it's totally ignoring parent and hierarchical.

My page structure is as follows:

Parent
-Child 1
-Child 2
--Child 1 to child 2
--Child 2 to child 2
-Child 3

And I only want to get child 1, child 2 and child 3.

Topic loop page-template php pages Wordpress

Category Web


With the parameter 'depth' of the "wp_list_pages" or the "get_pages" function, we can define how many levels do we want to retrieve. So here, I will display all the first child level of the current page.

            <?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'
                ));
            ?>

Please check the parameter 'parent'. It seems there is a space after the name.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.