在PHP循环中添加中断后如何继续操作?

时间:2017-06-14 19:01:36

标签: php wordpress advanced-custom-fields

所以这就是问题所在。我有两个PHP文件(one.php和two.php)。第一个循环从0开始,在77停止。

下一个循环从第78行开始并在300停止。这部分有效。由于某种原因,来自two.php的所有行都没有显示。我认为one.php的循环阻止了two.php的完全运行。我在WordPress中使用高级自定义字段(ACF)。

 /*** One.php  ***/
<?php
  if( have_rows('repeat_field') ):
  $i = 0;
    // loop through the rows of data
      while ( have_rows('repeat_field') ) : the_row();
      $i++;

          continue;
      if (!empty(get_sub_field('feature_image_post'))) 
      {
          the_sub_field('feature_article_link'); 
          the_sub_field('feature_image_post'); 
          the_sub_field('feature_title'); 
      } 
      if( $i > 77 )
      {
          break;
      }
      endwhile;
  else :
      // no rows found
  endif;
?>


 /*** Two.php  ***/
<?php
  if( have_rows('repeat_field') ):
  $i = 0;
    // loop through the rows of data
      while ( have_rows('repeat_field') ) : the_row();
      $i++;
      if($i<79)
          continue;
      if (!empty(get_sub_field('feature_image_post'))) 
      {
          the_sub_field('feature_article_link'); 
          the_sub_field('feature_image_post'); 
          the_sub_field('feature_title'); 
      } 
      if( $i > 100 )
      {
          break;
      }


      endwhile;
  else :
      // no rows found
  endif;
?>

这两个文件都包含在一个PHP模板文件中:

1 个答案:

答案 0 :(得分:1)

have_rows的实习循环,您可以轻松地继续循环行。

这是一段代码:

/*** One.php  ***/
<?php
  if( have_rows('repeat_field') ):
  $i = 0;
    // loop through the rows of data
      while ( have_rows('repeat_field') ) : the_row();
      $i++;

      if (!empty(get_sub_field('feature_image_post'))) 
      {
          the_sub_field('feature_article_link'); 
          the_sub_field('feature_image_post'); 
          the_sub_field('feature_title'); 
      } 
      if( $i >= 77 )
      {
          break;
      }
      endwhile;
  else :
      // no rows found
  endif;
?>


 /*** Two.php  ***/
<?php
  if( have_rows('repeat_field') ):
    // loop through the rows of data
      while ( have_rows('repeat_field') ) : the_row();
      $i++;

      if (!empty(get_sub_field('feature_image_post'))) 
      {
          the_sub_field('feature_article_link'); 
          the_sub_field('feature_image_post'); 
          the_sub_field('feature_title'); 
      } 
      if( $i >= 100 )
      {
          break;
      }


      endwhile;
  else :
      // no rows found
  endif;
?>