2016-10-09 6 views
4

3つの投稿をすべて新しい行(div)に囲み、ページに合計9つの投稿を入れたいと思います。最後に空の行があります。私はこれ(I need to wrap every 4 wordpress posts in a div)がうまくいくと思っていましたが、2,3,4ページなどのポストがあります。以下は私のコードを単純化したものです。 $ i = 1divの3つのWordPress投稿をすべてラップする

<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 --> 

答えて

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; ?> 
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; ?> 
関連する問題