仅显示第一个循环的基本多循环

时间:2012-03-06 作者:John

我正在尝试在一个页面上设置多个循环。第一个循环将显示最新的四篇博客文章,下面的第二个循环将显示最新的八篇带有分页的博客文章。

我在下面设置了模板,但只显示了前四篇博客文章。理想情况下,第一个循环将显示四篇博客文章,然后相同的四篇将显示在其正下方的第二个循环中。我误解了什么吗?有人能帮我找出哪里出了错吗?

    <?php get_header();?>

        <div id="content">
            <h2>Latest News</h2>
            <div id="latest-news">

                <?php
                    $featuredPosts = new WP_Query();
                    $featuredPosts->query(\'showposts=4\');

                    while ($featuredPosts->have_posts()) : $featuredPosts->the_post();
                ?>

                <div class="post" id="post-<?php the_ID(); ?>">
                    <div class="description">
                        <h3><?php the_title_attribute(); ?></h3>
                        <p><?php the_content_rss(\'\', TRUE, \'\', 20); ?></p>
                    </div>
                </div>

                <?php endwhile; ?>

            </div>
            <div id="blog-list">
                <?php query_posts( array(
                      \'posts_per_page\' => 8,
                      \'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1 ),
                 ));
                ?>
            </div>
        </div>

    <?php get_footer(); ?>

1 个回复
最合适的回答,由SO网友:Michael 整理而成

将循环代码添加到query\\u posts部分;

示例:

<div id="blog-list">                 
  <?php query_posts( array(                       
  \'posts_per_page\' => 8,                       
  \'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1 ),                  
  ));                 
  if( have_posts() ) : while( have_posts() ) : the_post(); ?>             

    <div class="post" id="post-<?php the_ID(); ?>">                     
      <div class="description">                         
        <h3><?php the_title_attribute(); ?></h3>                         
        <p><?php the_content_rss(\'\', TRUE, \'\', 20); ?></p>                     
      </div>                 
    </div> 

  <?php endwhile;
  else : echo \'nothing found\';
  endif; ?>
</div> 

结束

相关推荐

simply loop through posts

我知道这是一个真正的新手问题,但我似乎无法从帖子中获得循环。它所做的只是从页面本身中提取。我制作了一个模板并添加了循环。<?php if( have_posts() ) { while( have_posts() ) { the_post(); ?> <h2><?php the_title(); ?></h2> <?php } } ?>