0

У меня есть повторитель с использованием расширенных настраиваемых полей, который, когда счетчик достигает общего числа (из 3) на основе итеративного счета, я хотел бы вывести div, а затем сбросить счетчик.Число повторителей ACF/PHP

Вот код, на данный момент он не выводит как следует, и я не знаю достаточно о математике, чтобы заставить его работать.

Цените вашу помощь :-)

 <?php if(have_rows('flexible_row')) : ?> 
    <div class="row"> 
    <?php if(empty($count)){ $count=1;} while(have_rows('flexible_row')) : the_row(); ?> 
     <?php if(get_sub_field('column_width') == "One column") { $count = $count+1; ?> 
      <div class="col-sm-4"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      Count is <?php echo $count; ?> 
      <hr/> 
      </div> 
     <?php } if(get_sub_field('column_width') == "Two columns") { $count = $count+2; ?> 
      <div class="col-sm-8"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      Count is <?php echo $counter; ?> 
      <hr/> 
      </div> 
     <?php } else { $count = $count+3; ?> 
      <div class="col-sm-12"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      Count is <?php echo $counter; ?> 
      <hr/> 
      </div> 
     <?php } if ($count == 3) { ?></div><div class="row"><?php $count = 0; } ?> 
    <?php endwhile; ?> 
    </div> 
<?php endif; ?> 
+0

Задача 1 решена: я использовал 'эхо $ counter' вместо' echo $ count', это решило проблему первого выпуска! – endymion1818

ответ

0

Думаю, я бы получил моя логика перепутал немного - я не использовал else положения правильно. Вот окончательный рабочий код в случае, если кто-нибудь натыкается это в будущем:

 <?php if(have_rows('flexible_row')) : ?> 
    <div class="row"> 
    <?php if(empty($count)){ $count=0;} while(have_rows('flexible_row')) : the_row(); ?> 
     <?php if(get_sub_field('column_width') == "One Column") { $count = $count+1; ?> 
      <div class="col-sm-4"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      </div> 
     <?php } elseif(get_sub_field('column_width') == "Two Columns") { $count = $count+2; ?> 
      <div class="col-sm-8"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      </div> 
     <?php } else { $count = $count+3; ?> 
      <div class="col-sm-12"> 
      <?php the_sub_field('title');?> 
      <?php the_sub_field('content');?> 
      </div> 
     <?php } if ($count == 3) { ?></div><div class="row"><?php $count = 0; } ?> 
    <?php endwhile; ?> 
    </div> 

Можно, конечно, использовать switch заявления тоже ..