如何设置一个按五人组输出帖子的查询?

时间:2011-06-29 作者:mike23

我想有一个查询,返回按五个五个分组的帖子。

现在,我有一个简单的查询循环,如下所示:

<?php if( $query->have_posts() ) : ?>
    <ul class="posts">
        <?php while ( $query->have_posts() ) : $query->the_post(); ?>
            <li>
                <?php the_title(); ?>
            </li> 
        <?php endwhile; ?>
    </ul>
<?php endif; ?>
它输出:

<ul class="posts">
    <li>post 1</li>
    <li>post 2</li>
    <li>post 3</li>
    <li>post 4</li>
    <li>post 5</li>
    <li>post 6</li>
    <li>post 7</li>
    <li>post 8</li>
    <li>post 9</li>
    <li>post 10</li>
</ul>
相反,我想要的是:

<ul class="posts">
    <li>post 1</li>
    <li>post 2</li>
    <li>post 3</li>
    <li>post 4</li>
    <li>post 5</li>
</ul>

<ul class="posts">
    <li>post 6</li>
    <li>post 7</li>
    <li>post 8</li>
    <li>post 9</li>
    <li>post 10</li>
</ul>
如何做到这一点?

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

您可以创建一个简单的计数器和条件:

 <?php $count = 0; ?>
    <?php if( $query->have_posts() ) : ?>
        <ul class="posts">
            <?php while ( $query->have_posts() ) : $query->the_post();
            if ($count < 5){ 
                ?>
                <li>
                    <?php the_title(); ?>
                </li> 
                <?php
            }else{
                echo \'</ul><ul class="posts">\';         
            ?>
                <li>
                    <?php the_title(); ?>
                </li> 
                <?php
                $count = 0;
            }
            $count = $count + 1;
            <?php endwhile; ?>
        </ul>
    <?php endif; ?>

SO网友:Hameedullah Khan

Did you try this?

<?php if( $query->have_posts() ) : ?>
    <ul class="posts">
        <?php $count = 0; ?>
        <?php while ( $query->have_posts() ) : $query->the_post(); ?>
            <li>
                <?php the_title(); ?>
            </li> 
        <?php 
           $count++; 
           if ( ( $count % 5 ) == 0 && $query->have_posts() ) {
        ?>
    </ul>
    <ul class="posts">
        <?php
           }
        endwhile; ?>
    </ul>
<?php endif; ?>
结束