2015-01-26 2 views
1

저는 modulo 연산자를 사용하여 루프가 3 번 실행 된 후 "row"div에 래핑됩니다.하나의 루프에 여러 개의 모듈러 연산자가 있습니까?

그러나 코드를 약간 추가하여 루프가 두 번만 실행되는 경우 "large-4"대신 "large-6"열의 너비를 변경합니다.

이것이 가능할까요 아니면 원래의 모듈러스 기능을 망칠까요?

주 - "have_rows"기능의 출처 인 고급 사용자 정의 필드를 사용하고 있습니다.

현재 코드 :

<?php if(have_rows('content_modules')): ?> 
<?php $i = 0; while(have_rows('content_modules')): the_row(); ?> 

<?php if($i % 3 == 0): ?> 
     <div class="row"> 
    <?php endif; ?> 

    <div class="large-4 columns"> 
     <?php if(!empty($link)): ?> 
     <a href="<?php echo $link ?>"><img src="<?php echo $photo ?>" />   
     <h3><?php echo $title ?></h3></a> 
     <?php else: ?> 
     <img src="<?php echo $photo ?>" />   
     <h3><?php echo $title ?></h3> 
     <?php endif; ?> 
     <?php echo $content ?> 
    </div> 

    <?php if($i % 3 == 2): ?> 
     </div> 
    <?php endif; ?> 

<?php $i++; endwhile; endif;?> 
+1

오프닝? –

+0

멋진 캐치! 결정된. 원래 게시물에 몇 줄을 들여 쓰는 것을 잊어 버렸습니다. – JeremyE

답변

0

좋아, 내가 워드 프레스 함수 호출이 아닌 당신 때문에 내 지식 (구글의) have_rows()의 최선을, 고급 사용자 정의 필드 (ACF) 또는 뭔가를 사용하는 가정 .

ACF에서 have_rows() 인 경우 이름에서 알 수 있듯이 부울을 반환합니다. 루프를 시작하기 전에 얼마나 많은 행이 있는지 알아야하므로 문제가 더 어려워집니다.

메인 루프 전에 빠른 루프를 수행하고 행 수를 계산 한 다음 CSS에 필요한 클래스를 결정할 수 있습니다. 그것은 최적이 아니지만 솔직히, 어떤 시점에서 당신은 그들을 세어 결정해야합니다.

일단 계산하면 변수를 설정하고 기존 루프 내부에서 새로 만든 변수를 사용할 수 있습니다.

루프 사이에 wp_reset_query()으로 루프를 재설정해야합니다. 나는 그것에 대해 잘못 될 수 있습니다.

HTH, 문 동안

= C =

입니다
+0

정확합니다 - 고급 사용자 정의 필드를 사용하고 있습니다. 원래 메모에 메모를 추가하겠습니다. 감사! – JeremyE