Wordpress循环:如何将每3个帖子包装成一个div?

时间:2011-11-01 23:19:06

标签: php wordpress loops foreach

我正在尝试这个:

<?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; ?>

但它没有用! :/ 谢谢!

3 个答案:

答案 0 :(得分:1)

感谢您的支持! :) 我尝试了两种解决方案,但没有用, 我最终得到了这个并且完美无缺!

<?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>

答案 1 :(得分:0)

我没有用wordpress测试过,所以我不能100%肯定它会起作用。 我们的想法是使用modulus运算符(请参阅符合您需求的示例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; ?>

答案 2 :(得分:0)

<?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; ?>