2017-05-03 11 views
0

私はしばらくして3列liに内容を表示しようとしています。 これまでのところは良いが、私は、問題は、私は唯一のを作成するために、条件を作成するために管理していることであるだけでつくれ文字A、またはBで始まる単語、またはC.サブフィールドの状態でWHILEを行う方法

に調整するようにしたい、とこのため、コードは空のフィールドを作成しています。 にこの条件を作成する方法がある場合は、私の質問はです。です。

私のコード [UPDATED]

if(have_rows('insert_breed_name_to_add')){ 
$count = 0; 
while(have_rows('insert_breed_name_to_add')){ 

    the_row(); 

    if(get_sub_field('breed_name')[0] == 'A'){ 

      $count++; 
      // If it is first time create "col-4" 
      if($count == 1 || $count%3 == 1){ ?> 
      <div class="col-4"><ul> 
      <?php } ?> 

      <!-- Create Li --> 
      <li><?php the_sub_field('breed_name'); ?></li> 

      <!-- close col-4 --> 
      <?php if ($count%3 == 0){?> 
       </ul> 
      </div> 
      <?php } 
     } 
    } 
    } 

?> 
+0

まず、 '$ count = 1;'はループ内で初期化されていますが、右外側であるべきですか? –

+0

ありがとう@Antonis、私はそうだと思います。私はそれを修正しようとします。 – grcoder

答えて

1

ないあなたが行うが、以下を見てしようとしているのかわから[ A WORKINGバージョンに更新]:

<?php 

if(have_rows('insert_breed_name_to_add')){ 
    $count = 0; 
    while(have_rows('insert_breed_name_to_add')){ 

     the_row(); 

     // If it starts from A or B or C 
     if(get_sub_field('breed_name')[0] == 'A' || get_sub_field('breed_name')[0] == 'B' || get_sub_field('breed_name')[0] == 'C'){ 

       $count++; 
       // If it is first time create "col-4" 
       if($count == 1){ ?> 
       <div class="col-4"><ul> 
       <?php } ?> 

       <!-- Create Li --> 
       <li><?php the_sub_field('breed_name'); ?></li> 

       <!-- close col-4 --> 
       <?php if ($count%3 == 0){?> 
        </ul> 
       </div> 
       <?php } 


     } 
    } 
} 

?> 
+0

ありがとう@Antonis!それはほぼそうだった!私はちょうどビットを変更し、私が望むように動作します。このようにして3列3列を生成し、3列に達すると1列下がり続けます。完璧な:) – grcoder

1
<?php if(have_rows('insert_breed_name_to_add')): 
    while(have_rows('insert_breed_name_to_add') **MAYBE INSERT CONDITION HERE? BUT HOW?**): the_row(); 
while (have_rows('your_custom_field_values')): the_row(); 
    $count = 1; 
    if ($count%3 == 1) 
    {?> 
    <div class="col-4"><ul> 
    <?php } ?> 
    <? if(get_sub_field('breed_name')[0] == 'a' OR get_sub_field('breed_name')[0] == 'A'){ ?> 
    <li><?php the_sub_field('breed_name'); ?></li> 
     <?php }?> 
     <?php if ($count%3 == 0){?> 
     </ul></div> 
     <?php } 
     $count++; 
     if ($count%3 != 1)?> 
     </ul> 
     </div> 
     <?php endwhile; ?> 
     <?php endwhile; ?> 
     <?php endif; ?> 
+0

ありがとうございます@Exprator 私はそれを行うことによってコードを改善することができました。しかし、まだ何か間違っている。それはAから始まる言葉を得ているだけでなく、Bと一緒に1単語です。それは奇妙です...あなたはAntonis Tsimourtosが言ったように、カウントは外れるべきだと思いますか?私が試したので、それは壊れます。 – grcoder

+0

問題はありません:) – Exprator

関連する問題