【问题标题】:how to handle the loop using filling bootstrap grid structure in wordpress?如何在wordpress中使用填充引导网格结构来处理循环?
【发布时间】:2015-10-02 11:31:06
【问题描述】:

我编写的代码可以填充我在代码中使用 while 和 for 循环的引导网格结构,但问题是 for 循环在第二行重复其值

上图告诉你第一行的第 2 列和第 3 列,第二行的第 1 列和第 2 列具有相同的值,这是我的代码

            <div class="row">
                <div class="col-xs-12">
                    <div class="rst-mediagrid">
                                                <?php 

                                                    global $post;

                                                    $loop = new WP_Query( array( 'posts_per_page' => 9,'orderby'=>rand) );

                                                    $posts = array();

                                                     while ( $loop->have_posts() ) : 

                                                        $items = array();

                                                        $items['link']=wp_get_attachment_url( get_post_thumbnail_id( $post->ID ));
                                                        $items['Image'] = get_the_post_thumbnail($loop->the_post());
                                                        $items['LinkPost']=get_permalink($post->ID);
                                                        $items['Title']=get_the_title($post->ID);
                                                        $items['PostTime']=get_the_time('M d,Y', $post->ID);


                                                        array_push($posts, $items);


                                                     endwhile;

                                                    for($i = 1; $i< count($posts); $i++){


                                                ?>
                                                    <?php
                                                    if($i==1){
                                                    ?>
                        <div class="div">
                            <div class="rst-col rst-col-50">
                                <div class="rst-postpic">
                                                                        <a href="<?php echo $posts[$i]['LinkPost']; ?>"><img src="<?php echo $posts[$i+1]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                        <?php echo $i+1; ?>
                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i]['LinkPost']; ?>"><?php echo $posts[$i]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i]['PostTime']; ?></time>
                                </div>
                            </div>
                                                        <?php //endif; ?>

                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic rst-postvideo">

                                    <a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><img src="<?php echo $posts[$i+2]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                            <?php echo $i+2; ?>
                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><?php echo $posts[$i+1]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+1]['PostTime']; ?></time>
                                </div>
                            </div>

                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic">
                                    <a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><img src="<?php echo $posts[$i+3]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                            <?php echo $i+3; ?>
                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><?php echo $posts[$i+2]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+2]['PostTime']; ?></time>
                                </div>
                            </div>

                            <div class="clear"></div>
                        </div><!-- end first row-->
                                                    <?php } //end if ?>
                                                <?php
                                                if($i == 2 ){
                                                ?>
                        <div class="div">
                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic">
                                    <a href="<?php echo $posts[$i]['LinkPost']; ?>"><img src="<?php echo $posts[$i+1]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                            <?php echo $i+1; ?>
                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i]['LinkPost']; ?>"><?php echo $posts[$i]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i]['PostTime']; ?></time>
                                </div>
                            </div>
                            <div class="rst-col rst-col-25">
                                <div class="rst-postpic rst-postvideo">
                                    <a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><img src="<?php echo $posts[$i+2]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                            <?php echo $i+2; ?>
                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i+1]['LinkPost']; ?>"><?php echo $posts[$i+1]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+1]['PostTime']; ?></time>
                                </div>
                            </div>
                            <div class="rst-col rst-col-50">
                                <div class="rst-postpic">
                                    <a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><img src="<?php echo $posts[$i+3]['link']; ?>" alt="" style="height: 385px;width: 770px"/></a>
                                                                            <?php echo $i+3; ?>

                                </div>
                                <div class="rst-postinfo">
                                    <a href="#"><span>Sport</span></a>
                                    <h6><a href="<?php echo $posts[$i+2]['LinkPost']; ?>"><?php echo $posts[$i+2]['Title']; ?></a></h6>
                                    <time><i class="fa fa-clock-o"></i><?php echo $posts[$i+2]['PostTime']; ?></time>
                                </div>
                            </div>
                            <div class="clear"></div>
                        </div><!--end second row-->
                                                     <?php
                                                }//end if

                                                }//end for loop ?>

                    </div>
                </div>
            </div>

我面临的问题是我上传了 6 个帖子,当我增加循环的值时,例如 for($i=1;$i

这个循环给了我独特的价值,但最后两列没有图像 但是当我在 wordpress 中再上传两个帖子并且数据库中的帖子总数 = 8 时,会出现图像,告诉我循环中的问题是什么

【问题讨论】:

    标签: php for-loop wordpress-theming wordpress


    【解决方案1】:

    循环内的代码逻辑真的很混乱,下面是发生了什么:

    1. 第一次迭代 ($i = 1)
      • 显示第二张图片 ($posts[$i+1]['link']) 和第一个帖子的链接 ($posts[$i]['LinkPost'];)
      • 显示第三张图片 ($posts[$i+2]['link']) 和第二张帖子的链接 ($posts[$i+1]['LinkPost'])
      • 显示第四张图片 ($posts[$i+3]['link']) 和第三个帖子的链接 ($posts[$i+2]['LinkPost'])
    2. 第二次迭代 ($i = 2)
      • 显示第三张图片 ($posts[$i+1]['link']) 和第二个帖子的链接 ($posts[$i]['LinkPost'];)
      • 显示第四张图片 ($posts[$i+2]['link']) 和第三个帖子的链接 ($posts[$i+1]['LinkPost'])
      • 显示第五张图片 ($posts[$i+3]['link']) 和第四个帖子的链接 ($posts[$i+2]['LinkPost'])
    3. 下一次迭代:什么都不做

    这就是您获得两次图像 3 和 4 的原因。

    【讨论】:

      猜你喜欢
      • 2018-05-23
      • 2019-04-15
      • 2019-08-13
      • 1970-01-01
      • 2020-09-16
      • 2018-07-03
      • 2017-11-29
      • 2014-04-24
      • 2022-05-04
      相关资源
      最近更新 更多