Here is an example of how you could do this. This code will work if you have all the pages that you want to display under one parent. In this case, I placed the pages under the home page (p.post_parent = 2).
if ($post->post_type == 'page') { $pages = $wpdb->get_results("SELECT p.ID, p.post_name, p.post_title, p.post_parent, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON pm.post_id=p.ID AND pm.meta_key='wp_menu_nav' LEFT JOIN $wpdb->posts AS P ON P.ID=p.post_parent WHERE p.post_parent = 2 AND p.post_type='page' AND p.post_status='publish' ORDER BY p.menu_order ASC"); if ($wpdb->num_rows > 0) { foreach($pages as $page) { //echo $page->ID . "<br>"; $args = array( 'numberposts' => 1, 'post_type'=> 'page', 'include' => $page->ID, 'post_status' => 'published' ); $myposts = get_posts($args); foreach($myposts as $mypost) { setup_postdata($mypost); echo the_content(); } } } }
John
source share