如何向 php 循环(wordpress)中的每个第 n 项添加一个类



我有一个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) 个 (4n) 个项目添加一个 'omega' 类?

谢谢(很多!杰米

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

假设您有 4 列指定.
从计数器 = 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 ?>

从评论中实现:

<?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 ?>

最新更新