在foreach循环中每4个后插入/关闭一行

时间:2014-12-12 15:32:03

标签: php twitter-bootstrap foreach

我知道这应该是简单的数学,但我的词汇中不存在这两个词:)

我有一个运行多个图库图像的循环,我使用bootstrap,所以我在循环中的每个项目都有一个col-md-3类,我只需要一种方法来添加一个新行并关闭之前的每四个项目后一个。

我尝试添加这个,当我回应我的结束和开放行但它没有做的伎俩,也许我错过了一些东西,比如基本的数学技能。以下是我尝试过的内容:$i % 4 === 0 && $i !== 0

我几乎已经做到了,除了循环中的第一个项目(0)本身就是一行,其他项目似乎是4行到我想要的行。

守则:

if ( $gallery_query->have_posts() ) :

                                $i = 0; //Count

                                //the loop
                                while($gallery_query->have_posts() ) : $gallery_query->the_post(); 

                                ?>

                                <article class="col-md-3 <?php echo $i; ?>" id="post-<?php echo get_the_ID(); ?>" <?php  get_post_class(); ?> >
                                        <div class="masonry-thumbnail border">
                                            <a href="<?php echo get_post_permalink(); ?>" title="<?php echo get_the_title(); ?>" class="inner-shadow"><?php echo get_the_post_thumbnail(get_the_ID(), 'masonry-thumb'); ?></a>
                                        </div><!--.masonry-thumbnail-->

                                    <div class="masonry-details">
                                        <h5><a href="<?php echo get_post_permalink(); ?>" title="<?php echo get_the_title(); ?>"><span class="masonry-post-title"> <?php echo get_the_title(); ?></span></a></h5>
                                        <div class="masonry-post-excerpt">
                                            <?php echo getPostLikeLink(get_the_ID()); ?>  <p class="post-comment"><a href="<?php echo get_post_permalink(); ?>"><i class="fa fa-comments qcomment" title="Comments"></i></a> <?php echo comments_number( ' ', '<sup>1</sup>', '<sup>%</sup>' ); ?></p><?php echo getBookmarkLink(get_the_ID()); ?>
                                        </div><!--.masonry-post-excerpt-->
                                    </div><!--/.masonry-entry-details -->  
                                </article><!--/.masonry-entry-->

                                <?php

                                    if($i % 4 === 0) {
                                        echo '</div><div class="row">';
                                    }

                                    ++$i;

                                endwhile; 

资源: Bootstrap

Similar questions/answers used to get this far

1 个答案:

答案 0 :(得分:2)

想一想:0 mod 4仍为0

你想用1

开始你的计数器
1 % 4 = 1
2 % 4 = 2
3 % 4 = 3
4 % 4 = 0 //Close and reopen a row!