I am trying to get a list of child pages to display on the parent page via wordpress. The best way I can describe what I am trying to do is if you are on the about page (/about) but you want to go to the meet the team page (/about/meet-the-team) when you are on the about page it should then display a link to the meet the team page.
I have this code at the moment
function getPagesHierarchy() {
$pagesQuery = new WP_Query(array(
'post_type' => 'page',
'posts_per_page' => -1,
'post_parent' => 0,
'order' => 'ASC',
'post_status' => 'publish'
)) ;
if ($pagesQuery->have_posts()) {
while($pagesQuery->have_posts()) {
$pagesQuery->the_post() ;
the_title() ;
echo '<br>' ;
}
}
}
What this is doing is it is getting a structure of the parent pages like this image shows below
This is currently getting all the parent pages which is fine however I also need it to display that parent pages children under it. so for example it would be something like this;
Any help with this would be much appreciated if I can give anything else to assist in what I am trying to achieve please do let me know.
2
Answers
You can use
wp_list_pages()
and pass in the parent page ID withchild_of
to get its children. You can refer to the WP docs for more info.So that’d look something like
Probably best to use
get_pages()