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

Posted

技术标签:

【中文标题】Wordpress Loop:如何将每 3 个帖子包装成一个 div?【英文标题】:Wordpress Loop: how to wrap each 3 posts into a div? 【发布时间】:2011-12-19 22:05:08 【问题描述】:

我正在尝试这个:

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

但它不起作用! :/ 谢谢!

【问题讨论】:

我认为这是最简单的方法:***.com/questions/28247770/loop-through-wordpress-posts-and-wrap-each-x-post-in-a- div 【参考方案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>

【讨论】:

【参考方案2】:

我没有用 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; ?>

【讨论】:

【参考方案3】:
<?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; ?>

【讨论】:

以上是关于Wordpress Loop:如何将每 3 个帖子包装成一个 div?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 将 WordPress 帖子堆叠到 3 个单独的列中?

获取自定义帖子而不是默认的 Wordpress 帖子

Wordpress“特色”帖子

Wordpress 自定义帖子类型分类 - 获取特定内容

Wordpress - 如何通过 AJAX 获取更多帖子?

wordpress,获得第二个最新帖子