2016-10-27 5 views
0

私はプログラムスケジュールを持つワードプレスページを作成しています。私は、高度なカスタムフィールドを使用して、日にちに部品を簡単に塗りつぶしたり、物などを取り除いたりすることができます。しかし、各ブロックには、hrefで折りたたみ可能な記述があります。私はリピータを作成しているときに、折りたたみ可能な部分のIDを同じに保ち、それは常に「説明1」を開くために機能しません。各リピータフィールドの一意のID(高度なカスタムフィールド)

質問:私は一意のID(つまり、progam1 、program2など)を各リピータループに割り当てます。 Iveは以下のコードに見られる$ counterで試しましたが、正しく適用する方法がわかりません。

<?php 
while (have_rows('day_1')) : the_row(); 

    $progtime    = get_sub_field('prog_time'); 
    $progtitle   = get_sub_field('prog_title'); 
    $progimage   = get_sub_field('prog_image'); 
    $progsubspeaker  = get_sub_field('prog_sub_speaker'); 
    $progsubdescription = get_sub_field('prog_sub_description'); 
    $progsubduration = get_sub_field('prog_sub_duration'); 
    $progsublocation = get_sub_field('prog_sub_location'); 
    $progsubabouttitle = get_sub_field('prog_sub_abouttitle'); 
    $progsubabout  = get_sub_field('prog_sub_about'); 
    $progsubabouturl = get_sub_field('prog_sub_abouturl'); 
    $counter = 1; 

    ?> 
    <!-- PROGRAM 1--> 
    <div class="panel panel-default"> 

     <!-- Program Heading --> 
     <div class="panel-heading" role="tab" id="heading1"> 

      <div class="row"> 
       <div class="col-lg-1 col-md-1 col-sm-1"> 
        <p class="date"><?php echo $progtime; ?></p> 
       </div> 

       <div class="col-lg-11 col-md-11 col-sm-11"> 

        <h4 class="panel-title"> 
         <a data-toggle="collapse" data-parent="#accordion" href="#Program<?php echo $counter; ?>" aria-expanded="true" aria-controls="Program1"> 
          <?php echo $progtitle; ?> 
         </a> 
        </h4> 
       </div> 
      </div> 

     </div> 

     <div id="Program<?php echo $counter; ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading1"> 
      <!-- Program Content --> 
      <div class="panel-body"> 
       <div class="row"> 
        <div class="col-lg-2 col-md-2 col-sm-2"> 
         <img class="img-responsive img-circle" src="<?php echo $progimage; ?>" alt=""> 
        </div> 

        <div class="col-lg-7 col-md-7 col-sm-10"> 
         <p class="speaker-name uppercase"><?php echo $progsubspeaker; ?></p> 
          <h4><?php echo $progtitle; ?></h4> 
           <p><?php echo $progsubdescription; ?></p> 

           <p><i class="fa fa-lg fa-clock-o"></i><span class="small"><?php echo $progsubduration; ?></span></p> 
           <p><i class="fa fa-lg fa-map-marker"></i> <span class="small"><?php echo $progsublocation; ?></span></p> 
          </div> 

          <div class="col-lg-3 col-md-3 col-sm-10"> 
           <h5><?php echo $progsubabouttitle; ?></h5> 
           <p class="small"><?php echo $progsubabout; ?></p> 
           <span class="about-speaker"><i class="fa fa-lg fa-globe"></i> <a class="small" href="#"><?php echo $progsubabouturl; ?></a></span> 
          </div> 

         </div> 
        </div> 

       </div> 

      </div> 
      <?php $counter++; ?> 
     <?php endwhile; ?> 

答えて

0

あなたの問題は、$カウンタは、ループ内の1として定義されているので、毎回それはwhile文の上

1.等しい移動$カウンタ= 1に戻ってそれを設定していますし、これはあなたのために働く必要があります実行されます!

+0

ああ、私が入力したのと同じように見えているようです –

0

となっています。私はthis source on stackoverflowを解決策として使用しました。

ループの前に$ counterを定義し、ループに$ counter ++を追加する必要があったので、ループが繰り返されるたびに+1が追加されました。

関連する問題