1

我需要将“loopcontent”类的每三个 div 包装在“threeacross”类的新 div 中。我是 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; ?>
4

1 回答 1

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 ?>
于 2012-05-08T23:57:39.810 回答