WordPress Loop: как обернуть каждый 3 сообщения в div?

Я пробую это:

<?php query_posts('cat=6'); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div> <?php $counter=3; ?> <?php the_post_thumbnail(); ?> <?php $counter++; ?> </div> <?php endwhile; ?> <?php endif; ?> 

Но это не работает! :/ Спасибо!

Спасибо за поддержку! 🙂 Я пробовал оба решения, но не работал, я закончил с этим и отлично работает!

 <?php query_posts('cat=6'); ?> <?php $variable=0;?> <div> <?php while ( have_posts() ) : the_post(); ?> <?php if(($variable+1)<4){ ?> <a href="<?php echo get_post_meta($post->ID, 'colaborador-link', true); ?>" target="blank"> <?php the_post_thumbnail(); ?> </a> <?php $variable+=1; ?> <?php }else{ ?> <?php $variable=1; ?> </div> <div> <a href="<?php echo get_post_meta($post->ID, 'colaborador-link', true); ?>" target="blank"> <?php the_post_thumbnail(); ?> </a> <?php }?> <?php endwhile; ?> </div> 

Я не тестировал его с помощью WordPress, поэтому я не уверен на 100%, что он сработает. Идея заключается в использовании оператора модуля (см. Пример, который соответствует вашим потребностям здесь http://codepad.org/78d2aAKp )

 <?php query_posts('cat=6'); ?> <?php if (have_posts()) : ?> <!-- Your div starts here --> <div> <?php while (have_posts()) : the_post(); $counter = 0; if($counter%3 == 0 && $counter > 0): ?> <!--Close and then open the div--> </div><div> <?php endif; ?> <?php the_post_thumbnail(); ?> <?php $counter++; ?> <?php endwhile; ?> </div><!--/Your div ends here --> <?php endif; ?> 
 <?php query_posts('cat=6'); ?> <?php if (have_posts()) : ?> <?php $counter=0; ?> <?php while (have_posts()) : the_post(); ?> <?php if($counter%3==0) : ?> <div> <?php $counter=3; ?> <?php the_post_thumbnail(); ?> <?php $counter++; ?> </div> <?php else: //Some code for other posts.. endif; ?> <?php $counter++; ?> <?php endwhile; ?> <?php endif; ?>