2012-11-26 210 views
0

我知道這是一件容易的事,但無法用wordpress while循環解決問題。我使用zurb框架和使用下面的html結構的產品列表。第n次迭代wordpress while循環

<div class="row"> 
    <div class="four columns"> 
     item here 
    </div> 
    <div class="four columns"> 
     item here 
    </div> 
    <div class="four columns"> 
     item here 
    </div> 
</div> 

所以在while循環中,我想在每三個四列div之後重複整個結構。我曾嘗試與下面的代碼

<?php 
     $temp = $wp_query; 
     $wp_query = null; 
     $wp_query = new WP_Query(); 
     $wp_query->query('post_type=product' . '&paged=' . $paged .''); 
    ?> 

    <?php $counter = 0; 

    if (have_posts()) : while (have_posts()) : the_post(); 
     if ($counter % 3 == 0): 
     echo '<div class="row"><!--row starts here-->'; 
     endif; ?> 

     <div class="four columns"> 
      <article> 

       <header> 
        <hgroup> 
         <h2><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr(sprintf(__('Permalink to %s', 'foundation'), the_title_attribute('echo=0'))); ?>" rel="bookmark"><?php the_title(); ?></a></h2> 
         <h6>Written by <?php the_author_link(); ?> on <?php the_time(get_option('date_format')); ?></h6> 
        </hgroup> 
       </header> 

       <?php if (has_post_thumbnail()) : ?> 
       <a href="<?php the_permalink(); ?>" class="th" title="<?php the_title_attribute(); ?>" ><?php the_post_thumbnail(); ?></a> 
       <?php endif; ?> 

       <?php the_excerpt(); ?> 

      </article> 

     </div> 

     <?php endwhile; ?> 

    <?php else : ?> 

     <h2><?php _e('No posts.', 'foundation'); ?></h2> 
     <p class="lead"><?php _e('Sorry about this, I couldn\'t seem to find what you were looking for.', 'foundation'); ?></p> 

    <?php endif; 

    if ($counter % 3 == 0): 
     echo '</div><!--row end here-->'; 
    endif; ?> 

    <?php foundation_pagination(); ?> 

</div> 
<!-- End Main Content --> 

但它重複錯誤併爲每循環。我知道這是顯而易見的重複,但解決方案我無法找到如何重複後,只有3個四列,並在第一個循環行應div插入以及。

非常感謝

回答

3

正如Andy所說的那樣,在代碼中將代碼$counter++;添加到while循環中。

例如,在你的代碼:

</div> 
<?php $counter++; ?> 
<?php endwhile; ?> 

,其中顯示出把它放在你的榜樣兩個現有線之間。

0

你或許應該添加一個計數器在循環,像$counter++,然後關閉了這個問題。

+0

你是指while循環之後? –

+0

我已經嘗試與'($ counter%3 == 1)'在開幕式和閉幕div但不工作。你能幫我詳細瞭解這一點,所以我可以試着解決這個問題 –

+0

啊!我已經添加了'($ counter%3 == 0)'來打開div和'($ counter%3 == 1)'來關閉div,我認爲它正在工作..讓我通過添加四個或五個項目來檢查比將關閉的問題,如果它的工作 –

相關問題