2013-03-12 68 views
0

我想在while循环中添加一些标记,以便每个三项都包装在一个<ul>中,并且每个ul应该包装在一个div中。可以有最多6个项目,我希望得到以下的输出:while while循环中的组项目

<div class="one"> 
    <ul> 
     <li>...</li> 
     <li>...</li> 
     <li>...</li> 
    </ul> 
</div> 

<div class="two"> 
    <ul> 
     <li>...</li> 
     <li>...</li> 
     <li>...</li> 
    </ul> 
</div> 

我想下面的代码:

<div class="one"> 
    <ul>  
    <?php 
     $i = 0 ; 
     while (have_posts()) : the_post(); 
      $i++; ?>    

      <li>...</li>  

      <?php 
       if ($i === 3){ 
        echo "</ul></div><div class='two'><ul>"; 
        $right_div = true; 
       }   
      ?> 
     } 
     if ($right_div){ 
       </ul></div> 
      <?php } ?>  
?> 

如果有至少3项它工作正常,但如果有小于3,然后破坏代码,因为它不会关闭ul和div。

使用while循环是很重要的,因为它是使用while循环获取帖子的WordPress主题的一部分。

+2

使用while循环,因为*“重要的是它的一个主题的一部分。“*我不明白这是如何工作的。为什么它使用什么样的循环? – 2013-03-12 18:32:30

+1

需要您在条件中使用的代码。 – Prashank 2013-03-12 18:35:20

+0

@WaleedKhan我编辑了这个问题。它是一个使用while循环获取帖子的WordPress主题,这就是我说的原因。 – user1355300 2013-03-12 18:40:00

回答

1

林不知道我得到它,但我认为这个问题是:

 if ($right_div){ 
      </ul></div> 
     <?php } ?> 

这不应该是一个条件,即必须始终打印。

0

如果我理解正确,你说你想要 群组的东西在3的组,但如果你有11项或东西 就像它打破。如果是这样的话,那么在while循环的最后一次迭代 中,您应该关闭ul和div元素。

像这样:

if(condition){ 
    echo "</ul></div>"; 
}