10

我有一个 Wordpress 循环,如下所示:

<?php $loop = new WP_Query( array( 'post_type' => 'portfolio' ) ); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <div class="four columns">
        <?php the_content(); //along with other stuff in looped div ?>
    </div>
<?php endwhile ?>

如何使用php为每(4n-3)个div(div.four.columns)添加一个“alpha”类,为每一个(4n)个项目添加一个“omega”类?

谢谢(非常感谢!),杰米

4

2 回答 2

28

为什么不添加一个计数器并使用模数方法在每一列中了解您当前正在回显的元素。

假设您有 4 列指定。
你从 counter = 1
1 % 4 = 1 (你在第一个元素中)
2 % 4 = 2 (你在第二个元素中)
3 % 4 = 3 (你在第三个元素中)
4 % 4 = 0开始(你在第四个元素中)
5 % 4 = 1(你在第一个元素中)
6 % 4 = 2(你在第二个元素中)

你只需在类中使用 If 语句,如下所示

<?php $counter = 1 ?>
<?php $loop = new WP_Query( array( 'post_type' => 'portfolio' ) ); ?>
    <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
    <div class="four columns <?php if ($counter % 4 == 1){echo 'alpha'}else if ($counter % 4 == 0){echo 'omega'} ?>">
        <?php the_content(); //along with other stuff in looped div ?>
    </div>
<?php $counter++ ; 
endwhile ?>
于 2012-10-02T21:13:11.157 回答
1

根据评论的实施:

<?php $loop = new WP_Query( array( 'post_type' => 'portfolio' ) ); ?>
    <?php
        $i = 0;
        while ( $loop->have_posts() ) : $loop->the_post(); 
           if( $i % 4 == 0 )
             $class = 'omega';
           else
             $class = ''; 
        ?>
    <div class="four columns <?php echo $class ?>">
        <?php 
           the_content(); // Along with other stuff in looped div
           $i++;
        ?>
    </div>
<?php endwhile ?>
于 2012-10-02T21:16:20.440 回答