2014-10-19 87 views
0

出於某種原因,我在查詢結果的末尾得到額外的<li> </li>。我怎樣才能防止這種情況發生?PHP查詢結果添加額外<li></li>

<li> 
<?php 

$counter = 0; 
$query = new WP_Query(array('post_type' => 'serivces')); 
while ($query->have_posts()) : $query->the_post(); $counter++; 
?> 
<div class="col-md-4 wp4"> 

        <h2 class="text-left"><?php the_title(); ?></h2> 
        <p class="text-left"><?php the_content(); ?></p> 
       </div> 
<?php 
if ($counter > 0 && $counter % 3 == 0) { 
echo '</li><li>'; 
} 

endwhile; 
?> 
</li> 

回答

0

您可以刪除<li>在頂部和</li>底部,只是一些額外的,如果在循環的開始,你的代碼的結束,像這樣的語句:

<?php 

$counter = 0; 
$query = new WP_Query(array('post_type' => 'serivces')); 
while ($query->have_posts()) : 
$query->the_post(); 
$counter++; 
if($counter % 3 == 1) { echo '<li>'; } 
?> 
<div class="col-md-4 wp4"> 
    <h2 class="text-left"><?php the_title(); ?></h2> 
    <p class="text-left"><?php the_content(); ?></p> 
    </div> 
<?php 
if ($counter > 0 && $counter % 3 == 0) { 
    echo '</li>'; 
} 
endwhile; 

if($counter % 3 != 0) { echo '</li>'; } 
?> 

只有當while循環中的最後一個if語句沒有發生在迭代次數爲3的倍數時才執行底部的if語句,以確保列表元素總是被關閉。