我想在while循环中对项目进行分组,以便前两个项目包装在一个div中,然后将其余部分包装在另一个div中。
我无法想办法如何做到这一点。问题是循环中的项目数量不同,并不总是相同。我尝试使用以下简单的逻辑,但它不起作用,因为项目的数量发生了变化。例如,如果项目的数量多于或少于预期,则不会关闭标记。
$i = 0;
while ( $query -> have_posts() )
if ( $i == 0 ) {
echo '<div class="one">'
}
if ( $i == 2 ) {
echo '</div>'
}
if ( $i >= 2 ) {
echo '<div class="two">'
}
//??
$i++;
endwhile;
答案 0 :(得分:1)
您可以尝试使用 -
$i = 0;
echo '<div class="one">';
while ( $query -> have_posts() )
if ( $i == 2 ) {
echo '</div><div class="two">';
}
// Item
$i++;
endwhile;
echo '</div>';
答案 1 :(得分:1)
只需在循环后添加最后一个div;
$i = 0;
echo '<div class="one">';
while ( $query -> have_posts() ) {
if ( $i == 2 ) {
echo '</div><div class="two">';
}
$i++;
}
echo '</div>';
答案 2 :(得分:1)
请试试这个:
$i = 0;
$html = '<div class="one">';
while ( $query -> have_posts() )
{
if ( $i == 2 ) {
$html .= '</div><div class="two">'; // if item count is 2. close the previous div and create a new one
}
$i++;
}
$html .= '</div>';
echo $html;