wordpress:如何在一个页面上显示多个页面?

wordpress:如何在一个页面上显示多个页面?

问题描述:

比方说,我有三个不同的页面,page1,page2和page3。wordpress:如何在一个页面上显示多个页面?

我希望page1和page2显示在我的静态主页上。我是否将循环限制为只拉页面1和页面2,或者是否需要启动循环,测试name =“page1”或类似的内容,然后打印? 谢谢! -Joe

我会跳过循环和简单地使用get_page($id)如下所述:

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

所有你需要知道的是你的页面的ID的,你可以拉他们一次一个任何你想的地点都可以。

+3

如果我想将我在Wordpress中为每个页面指定的模板应用? – Prusprus 2013-01-31 02:23:06

+0

此方法现在已被弃用 – 2014-06-05 14:27:59

+0

我正在寻找这个问题的答案,但'get_page'现在已被弃用。任何人都可以推荐替代品吗? – mattnewbie 2014-08-12 21:39:14

下面是一个如何做到这一点的例子。如果您有所有要在单亲父母下显示的网页,则此代码可以正常工作。在这种情况下,我将页面放在主页下(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

如果您可以避免使用原始SQL查询,通常不是一个好主意。有很多内置的方式可以通过WordPress访问任意数量的页面。 get_page()或修改'pre_get_posts'上的查询会很好。 – 2013-11-05 19:07:40

+1

你的意思是WordPress的功能,使多个不必要的调用和连接到数据库? 如何实际给一些代码示例,而不是提到任何人都可以查看的功能,这有助于任何人?我提供的是一个真正的解决方案,它可以工作;-) – John 2013-11-05 23:12:17