2017-12-20 9 views
1

증분을 클래스 이름에 추가 할 수 있어야합니다. 나는 이것을위한 해결책을 찾았고, 나의 예를 위해 작동하지 않는다.CSS 클래스에 증분 추가

나는 'section_0'클래스에 일련 번호 1, 2, 3, 4 등을 추가하려는 foreach 루프를 가지고 있습니다. 내가 뭘 잘못하고 있는거야?

<div class="menu-section-container"> 


<?php 

// check if the repeater field has rows of data 
if(have_rows('section_container')): 

// loop through the rows of data 
while (have_rows('section_container')) : the_row(); 

    if(have_rows('sub_section_container')): 

    // loop through the rows of data 
    while (have_rows('sub_section_container')) : the_row(); 

     if(have_rows('food_item')): 

     // loop through the rows of data 
     while (have_rows('food_item')) : the_row(); 

$menu_contents = array(the_sub_field('section_heading'), the_sub_field('item_name'), the_sub_field('price'), the_sub_field('item_description')); 

$counter = 1; 

foreach ($menu_contents as $menu_content); { ?> 

<div id="section_0<?php echo $counter++; ?>" class="tabcontent"> 
<?php echo $menu_content; ?> 
</div> 

<?php $counter++; // increment before foreach ends 
} 

     endwhile; 
     else : 
     endif; 

    endwhile; 
    else : 
    endif; 

endwhile; 
else : 
endif; 

wp_reset_postdata(); 

?> 

</div> <!-- section --> 
+0

당신이 얻고 출력은 무엇입니까? –

+0

@NigelRen Red 클래스 이름과 각 그룹에 대한 숫자 1을 반환합니다. 기본적으로 "section_01"은 "section_01", "section_02", "section_03"이 아닙니다. – Paul

+0

들여 쓰기에 코드 구조가 반영되어 있는지 확인해야합니다. 그것은 당신에게 많은 두통을 줄 것입니다. – jcaron

답변

3

아마도 $counter을 더 이상 설정하고 싶을 것입니다. 그래서 -

$counter = 1; 

은 아마 더 나은 곳

if(have_rows('section_container')): 

당신은 그것이 당신의 설정에 가장 적합한 방식을 볼 다른 장소에서 그것을 시도 할 수 있습니다 후 같은 것입니다.

또한 코드의이 섹션에서 $counter을 두 번 ($counter++ 사용) 증가시킵니다.

<div id="section_0<?php echo $counter++; ?>" class="tabcontent"> 
<?php echo $menu_content; ?> 
</div> 

<?php $counter++; // increment before foreach ends 

다음 중 하나를 제거 할 수 있습니다. 번호 매기기를해야합니다.

+0

첫 번째 ++는 나에게 뭔가를 시도했지만 죄송합니다. $ 카운터를 올리면 효과가 있습니다! 감사 – Paul

0

$counter 변수는 ++없이 반향되어야한다 :

<div id="section_0<?php echo $counter; ?>" class="tabcontent">