循环WordPress博客文章

时间:2013-02-06 13:40:05

标签: php html wordpress loops

<?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的代码,我想要做的是让我们在<section class="blog-posts col-2-3 grid-pad">中发表3篇博文,然后在<section class="blog-posts col-2-3 grid-pad">中发表另外3篇帖子

那么如何循环帖子以便让它们遍布页面?现在我只能得到它所以它在第一个

中显示它们

1 个答案:

答案 0 :(得分: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);

});