programing

php 루프의 모든 n번째 항목에 클래스를 추가하려면 어떻게 해야 합니까(wordpress

lastmoon 2023. 3. 28. 22:29
반응형

php 루프의 모든 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.4.columns)에 'alpha' 클래스를 추가하고 모든 (4n)번째 항목에 'Omega' 클래스를 추가할 수 있습니까?

고마워, 제이미

카운터를 추가하고 계수 접근법을 사용하여 현재 에코하고 있는 요소를 각 컬럼에서 파악해 주십시오.

지정된 대로 4개의 열이 있다고 가정합니다.
카운터 = 1부터 시작합니다.
1% 4 = 1 (첫 번째 요소에 있습니다)
2% 4 = 2 (두 번째 요소에 있습니다)
3 % 4 = 3 (세 번째 요소입니다)
4% 4 = 0 (4번째 요소)
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 ?>

언급URL : https://stackoverflow.com/questions/12698135/how-do-i-add-a-class-to-every-nth-item-in-a-php-loop-wordpress

반응형