Wordpress循环计数

时间:2012-08-28 09:48:35

标签: wordpress loops counter

我已经创建了一个简单的Wordpress循环,但现在它应该以不同的方式循环,我不知道如何开始甚至从哪里开始。我在DIV class =“item-row-wrap”里面我的循环它通常循环通过DIV class =“vinyl-wrap”。

我的问题:我希望它循环三次然后创建一个新的DIV class =“item-row-wrap”并再次开始循环DIV class =“vinyl-wrap”三次......然后继续并在

Here is the code:
<code>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if(get_field('artist-repeater')): while(has_sub_field('artist-repeater')): ?>

<div class="item-row-wrap"> <!--START of item-row-wrap-->

    <div class="vinyl-wrap"> <!--START of vinyl-wrap-->
        <?php if(get_sub_field('play-repeater-songlink')): ?>
            <a class="play" href='<?php the_sub_field('play-repeater-songlink'); ?>' target="_blank"></a>
        <?php endif; ?>
        <?php if(get_sub_field('moreinfo-repeater-song')): ?>
            <a class="more-info" href='<?php the_sub_field('moreinfo-repeater-song'); ?>' target="_blank"></a>
        <?php endif; ?>
        <div class="vinyl-cover">
            <div class="vinyl-cover-plastik"></div>
             <?php if(get_sub_field('album-repeater-image')): ?>
             <?php $image = wp_get_attachment_image_src(get_sub_field('album-repeater-image'), 'thumbnail'); ?>
             <img class="album-cover-art" src="<?php echo $image[0]; ?>" alt="<?php get_the_title(get_field('album-repeater-image')) ?>" />
             <?php endif; ?>
        </div> <!--End of vinyl-cover-->
        <div class="likeit">
            <?php if(function_exists(getILikeThis)) getILikeThis('get'); ?>
        </div>
        <div class="artist-name-wrap">
            <div class="artist-wrap-left"></div>
            <div class="artist-wrap-mid">
                <p><?php the_title(); ?></p>
            </div>
            <div class="artist-wrap-right"></div>
        </div> <!--End of artist-name-wrap-->
        <div style="clear:both;"></div>
        <div class="song-name-wrap">
            <div class="song-wrap-left"></div>
            <div class="song-wrap-mid">
                <?php if(get_sub_field('song-repeater-name')): ?>
                    <p><?php the_sub_field('song-repeater-name'); ?></p>
                <?php endif; ?>
            </div>
            <div class="song-wrap-right"></div>
        </div> <!--end of song-name-wrap-->


    </div> <!--END OF VINYL-WRAP-->


        <?php endwhile; endif; ?>

    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
    <?php else: ?>
        Yht&auml;&auml;n artikkelia ei ole viel&auml; julkaistu.
    <?php endif; ?>

</div> <!--END OF ITEM-ROW-WRAP-->

1 个答案:

答案 0 :(得分:0)

在循环之前设为$i var 在循环关闭之前调高值:$i++ 围绕<div class="item-row-wrap">(以及结束</div>

设置模数检查

Modulo tutorial

不是一个完整的答案,但足以让你开始。

示例
下面的示例显示了如何执行此操作

<?php
$i = 0;
if (have_posts()) : while (have_posts()) : the_post();
if(get_field('artist-repeater')): while(has_sub_field('artist-repeater')):

    if ($i % 3 == 0) {
        echo '<div class="item-row-wrap"> <!--START of item-row-wrap-->';
    }
    $i++; // up the numer of looped
?>
DO your magic
<?php
    if ($i % 3 == 0) {
        echo '</div> <!--END OF ITEM-ROW-WRAP-->';
    }


endwhile; //end have_posts()
endif;