0
<?php get_header(); ?>
<div class="page-wrap group">

<div class="grid">

  <?php query_posts('showposts=6'); ?>

    <?php if (have_posts()): ?>

  <section class="blog-posts col-2-3 grid-pad">

    <?php while (have_posts()) : the_post(); ?>

      <article class="module" id="post-<?php the_ID(); ?>">

        <h2> <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a </h2>
        <p><time datetime="2001-05-15 19:00"><?php echo date('l jS F Y')?></p>

        <?php the_excerpt(); ?>


      </article>

      <?php endwhile; ?>

  </section>

这是我的 index.php 代码,我想做的是让我们说 3 篇博文,<section class="blog-posts col-2-3 grid-pad">然后再写 3 篇博文<section class="blog-posts col-2-3 grid-pad">

那么如何循环发布帖子,以便让它们分布在整个页面中?现在我只能得到它,所以它首先显示它们

4

1 回答 1

1

只需使用一个计数器变量:

<?php if (have_posts()): ?>

  <section>

  <?php $i = 0; while (have_posts()) : the_post(); ?>

      <article>
      ...
      <article>

  <?php if(++$i === 3): // close previous and open new one ?>
  </section>

  <section>
  <?php endif; ?>      

  <?php endwhile; ?>
  </section>    

<?php endif; ?>

或者,您可以使用WP_Query类、posts_per_page=3参数和offset=3第二个查询的参数执行两个查询。


要更改页面上显示的帖子数量,请将其添加到您的函数文件中:

add_action('pre_get_posts', function($query){

  if(is_admin() || !$query->is_main_query())
    return;

  if(is_home()) // or whatever page you want the limit applied to
    $query->set('posts_per_page', 6);

});
于 2013-02-06T14:30:15.750 回答