如何在div中包含每3个div的内容?

时间:2012-05-08 23:11:17

标签: html wordpress loops

我需要每三个div类“loopcontent”包含在一个新的div“threeacross”中。我是WordPress的新手,还不是一个PHP人,但我正在学习。

这是我的循环:

        <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
            <div class="loopcontent">
                <?php
                    if ( has_post_thumbnail() ) {
                        the_post_thumbnail();
                    } else {
                        // the current post lacks a thumbnail
                    }
                ?>
                <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
                <?php the_excerpt(); ?>
            </div>

        <?php endwhile; else : ?>

            <div class="loopcontent">
                <h1>Page Not Found</h1> 
                <p>Looks like the page you're looking for isn't here anymore. Try browsing the <a href="">categories</a>, <a href="">archives</a>, or using the search box below.</p>
                <?php include(TEMPLATEPATH.'/searhform.php'); ?>
            </div>

        <?php endif; ?>

1 个答案:

答案 0 :(得分:7)

这样的事情应该有效。这可以保持一个运行计数并将你的div包裹在每三个帖子中。如果这有帮助,请告诉我。如果没有,让我知道它输出的是什么,我可以调整它:

<?php
if(have_posts()) : for($count=0;have_posts();$count++) : the_post();
    $open = !($count%3) ? '<div class="threeacross">' : ''; //Create open wrapper if count is divisible by 3
    $close = !($count%3) && $count ? '</div>' : ''; //Close the previous wrapper if count is divisible by 3 and greater than 0
    echo $close.$open;
?>
<div class="loopcontent">
    <?php
    if(has_post_thumbnail()) the_post_thumbnail();
    else{
    // the current post lacks a thumbnail
    }
    ?>
    <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
    <?php the_excerpt(); ?>
</div>
<?php endfor; else : ?>
<div class="loopcontent">
    <h1>Page Not Found</h1> 
    <p>Looks like the page you're looking for isn't here anymore. Try browsing the <a href="">categories</a>, <a href="">archives</a>, or using the search box below.</p>
    <?php include(TEMPLATEPATH.'/searhform.php'); ?>
</div>
<?php endif; ?>
<?php echo $count ? '</div>' : ''; //Close the last wrapper if post count is greater than 0 ?>