如何在每9个li之后重复ul和div

时间:2015-11-24 12:05:14

标签: php wordpress

我想在每第9条记录后重复<div><ul>。但没有得到确切的结果。请帮助解决问题。

<div class="col1">
<div class="mylist">
    <ul>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
        <li class="test1"><a href="#"></a></li>
    </ul>
</div>
</div>  

<?php 
                    $args1 = array(
                    'post_type' => 'newser',
                    'orderby'   => 'id', 
                    'order'     => 'ASC',
                    'tax_query' => array(
                        array(
                        'taxonomy' => 'service',
                        'field' => 'id',
                        'terms' => $term_id
                         )
                      )
                    );
                    $query1 = new WP_Query( $args1 ); 
                    $counter = 1;
                    while ($query1->have_posts()) : $query1->the_post(); 

                    ?>

                    <div class="col1">
                        <div class="mylist">
                            <ul>


                             <li class="test<?php echo $counter; ?>"><a href="#">
                             <?php the_title(); ?>
                            </a>
                                </li>
                            <?php  
                            if($counter % 9 == 0)
                            {
                                echo '</ul></div></div><div class="col-sm-4"><div class="list-part"><ul>';
                            }
                            ?>

                          <!--  </ul>
                        </div>
                    </div>-->

                <?php $counter++; endwhile; ?>  

4 个答案:

答案 0 :(得分:0)

尝试这种类型的代码..

<div class="col1">
    <div class="mylist">
        <ul>
        <?php 
        for($i=1;$i<=20;$i++){
            if($i==9){
                echo '</ul></div></div>';
                echo '<div class="col1"><div class="mylist"><ul>';
            }
            echo '<li class="test1"><a href="#"></a></li>';
        }
        ?>
        </ul>
    </div>
</div>

希望这有帮助。

答案 1 :(得分:0)

嘿,如果你正在使用php,那么下面的代码将适合你:

<?php
for ($i = 0; $i < 180; $i++) {
    ?>
    <div class="col1">
        <div class="mylist">
            <ul>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <li class="test1"><a href="#"></a></li>
                <?php if ($i % 9 == 0) { ?>
                </ul>
            </div>
        </div> 
        <div class="col1">
            <div class="mylist">
                <ul>
                <?php } ?>
            </ul>
        </div>    
    <?php } ?>    

    ?>

我认为这将有效。

答案 2 :(得分:0)

您可以编写一个具有各种特殊条件条件的for循环,例如:处理第一个元素(需要起始<ul>),每九个位置(你的问题)和最后一个元素(需要结束</ul>)。

for($i=1; $i<=$counter; $i++){
    if($i==1){
        echo '<ul><li>gdgdfgdfg</li>';
    } else if($i%9==0 && $i>1 && $i<$counter){
        echo '<li>gdgdfgdfg</li></ul><ul>';
    } else if($i==$counter){
        echo '<li>gdgdfgdfg</li></ul>';
    } else{
        echo '<li>gdgdfgdfg</li>';
    }
}

答案 3 :(得分:0)

<div class="col1">
    <div class="mylist">
        <ul>
            <?php
            for ($i = 0; $i < 20; $i++) {
                ?>
                <li class="test1"><a href="#"><?= $i ?></a></li>
                <?php if ($i % 9 == 0 && $i > 0) { ?>
                </ul>
            </div>
        </div> 
        <div class="col1">
            <div class="mylist">
                <ul>
                <?php } ?>
            <?php } ?>    
            <?php if ($i % 9 != 0 || !$i) { ?>
            </ul>
        </div>
    </div> 
<?php } ?>