在div中包装每三个WordPress帖子

时间:2016-10-09 03:41:27

标签: php wordpress

我想在一个新的行(div)中包含每三个帖子,页面上总共有九个帖子。最后有一排空行。我认为这个(I need to wrap every 4 wordpress posts in a div)会起作用,但我在第2,3,4等页面上有更多帖子。下面是我的代码的简化版本。 $ i = 1。

<div class="row">

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

        <div class="column">
        </div>

        <?php if ($i % 3 == 0 ) : ?>

            </div> <!-- .row -->
            <div class="row">

        <?php endif; $i++; ?>

    <?php endwhile; ?>

</div> <!-- .row -->

2 个答案:

答案 0 :(得分:2)

您可以使用get_next_post()检查下一篇文章是否存在。

<?php if ($i % 3 == 0 ) : ?>
</div> <!-- .row -->
<?php
    $next_post = get_next_post();
    if (!empty( $next_post )): ?>
        <div class="row">
    <?php endif; ?>

答案 1 :(得分:0)

我使用这篇文章(https://www.nosegraze.com/display-wordpress-posts-2-3-columns/)来解决我的问题。

$ i = 0;

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

    <?php if ( $i == 0 ) : ?>

        <div class="row">

    <?php endif; ?>

    <div class="column">
    </div> <!-- .column -->

    <?php
        $i++;
        if( $i == 3 ) :
        $i = 0; ?>

        </div> <!-- .row -->

    <?php endif; ?>

<?php endwhile; ?>

<?php if ( $i > 0 ) : ?>

    </div> <!-- .row -->

<?php endif; ?>