Wordpress: How to display multiple pages on one page?

Say I have three pages: page1, page2 and page3.

I want pages1 and page2 to appear on my static page. Do I limit the loop to only pull page1 and page2, or do I need to start the loop, check for name = "page1" or something like that, and then print? Thank you -Joe

+6
wordpress
source share
2 answers

I would skip the loop and just use get_page($id) as described here:

http://codex.wordpress.org/Function_Reference/get_page

All you need to know is the id of your pages, and you can drag them one at a time anywhere.

+7
source share

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(); } } } } 
+1
source share

All Articles