0

我在 Wordpress 中需要以下内容:

<div class="posts-wrapped">
    <div id="post-1" class="post">
        <h1>Title 1</h1>
    </div>
    <div id="post-2" class="post">
        <h1>Title 2</h1>
    </div>
</div>
<div class="posts-wrapped">
    <div id="post-3" class="post">
        <h1>Title 3</h1>
    </div>
    <div id="post-4" class="post">
        <h1>Title 4</h1>
    </div>
</div>

我知道如何使用 WP 循环获取帖子,但是如何将每两个帖子包装在 .posts-wrapped div 中?

我使用 WP_Query 获取帖子。

谢谢!

编辑:所以我尝试了几种方法来做到这一点。例如:

$index=0;
<div class="posts-wrapped">

<?php
while ( have_posts() ) {
    $index++;   
?>
<div class="post">
        <h1><?php the_post(); ?></h1>
    </div> <?php
if(($index % 2) ==0){
echo '</div><div class="posts-wrapped">';
}
} ?>

</div>

但这会打印一个额外的空帖子包装 div:

<div class="posts-wrapped">
    Lorem ipsum 1<br>
    Lorem 2 ipsum est<br>
</div>
<div class="posts-wrapped">
    Lorem ipsum 1<br>
    Lorem 2 ipsum est<br>
</div>
<div class="posts-wrapped">
</div>

我怎样才能摆脱最后一个空的div?它搞砸了我的旋转木马(此内容是旋转木马的一部分)。

4

3 回答 3

1

获取计算循环迭代的索引并检查模运算以了解其偶数或奇数

$index=0;
<div class="posts-wrapped">

<?php
while ( have_posts() ) {
    $index++;   
?>
<div class="post">
        <h1><?php the_post(); ?></h1>
    </div> <?php
if(($index % 2) ==0){
echo '</div><div class="posts-wrapped">';
}
} ?>

</div>
于 2013-09-03T18:16:04.953 回答
0

这应该工作:

<?php
while(have_posts()){
    the_post();
?>
<div class="posts-wrapped">
    <div class="post">
        <h1><?php the_title(); ?></h1>
    </div>

    <?php
    if(have_posts()){ //Makes sure you have another post
        the_post();
    ?>
        <div class="post">
            <h1><?php the_title(); ?></h1>
        </div>
    <?php
    }
    ?>
</div>
<?php
}
?>
于 2013-09-03T18:40:50.603 回答
0
<?php
$i = 0;
if (have_posts()) : 
    while (have_posts()) : the_post();

    if($i == 0) {
        echo '<div class="posts-wrapped">';
    } ?>

    <div class="post">
        <h1><?php the_title(); ?></h1>
    </div>

<?php
$i++;
if($i == 2) {
    $i = 0;
    echo '</div>';
}

endwhile; 

if($i > 0) {
    echo '</div>';
}
?>

Would you please try above code?

于 2016-09-28T06:27:48.390 回答