每四个帖子在一个div内换行

时间:2015-05-05 作者:James

我试图用一个div和一个row类来包装每一行wordpress帖子。

我一直试图从下面链接的另一个问题中找到答案,但似乎遇到了问题,因为我的循环有点不同。此外,我想任何一行与1或更多的职位被包装在一行也。。。

我需要将每4篇wordpress帖子包装在一个div中

   <?php query_posts(\'cat=2\'); 

        $i = 0;
        $wrap_div = "<div class=\'row\'>";

        if ( have_posts() ) : 
            $total_posts = $wp_query->post_count;
            echo $wrap_div;

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



<div class="four columns gameListing" id="" data-count="">       
    <img class="gameLogo" src="" > 
    <div class="gameInfo">
        <h2 class="gameTitle"></h2>
        <div class="gameRating"></div>
    </div>
    <a class="gameCta" rel="" data-post-id="" >
         <span class="title" data-id="">Click to Play</span
    </a>
</div>

<?php 

                if ( $i % 4 == 0 && $i != 0 && ( $i + 1 ) != $total_posts ) {
                    echo \'</div>\' . $wrap_div;
                }
                $i ++;


                ?>
    <?php endwhile; endif; ?>
    <?php wp_reset_query(); ?>

1 个回复
SO网友:Johann

请尝试以下代码:

            <?php
              $args = array(
                \'post_type\' => \'post\', \'posts_per_page\' => -1, \'orderby\' => \'menu_order\', \'order\' => \'ASC\',\'cat\' => \'2\',
              );
              $loop = new WP_Query( $args );
            ?>
            <?php if( $loop->have_posts() ): ?>


                  <?php $counter = 0; while ( $loop->have_posts() ) : $loop->the_post(); ?>
                    <?php if ($counter % 4 == 0 && $counter != 0): ?>
                      </div>
                      </div>
                    <?php endif; ?>
                    <?php if ($counter % 4 == 0 or $counter == 0): ?>
                      <div>
                      <div>
                    <?php endif; ?>
                      <div>
                      <div>
                      <h3><?php the_title(); ?></h3>
                      </div>                                                
                      </div>
                    <?php $counter++; endwhile; ?>        
                    </div>
                  </div>

            <?php endif; ?>
这是我在这种情况下使用的示例代码,工作起来很有魅力。只需用自定义游戏div替换必要的div即可。

结束

相关推荐

Loop for sticky posts

我用过Justin Tadlock\'s 关于如何创建仅包含粘性帖子的循环的教程。代码大致如下所示:$sticky = get_option( \'sticky_posts\' ); rsort( $sticky ); $sticky = array_slice( $sticky, 0, 2 ); query_posts( array( \'post__in\' => $sticky, \'caller_get_posts\' => 1 ) ); 根据教程,我