2016-03-22 6 views
2

Hala php öğreniyorum, ama kafamı bu konuya alamıyorum.Çıktıyı çıktı olarak son öğeyi döndür (ACF)

WordPress'de bir döngü için, yerlerin bir virgülle ayrılmış ve bir nokta ile biten bir liste çıktısını almak istiyorum.

<?php if (have_rows('subplaats')): ?> 
    <section id="subplaats"> 
     <div class="subplaats-container"> 
      <h3 class="support">Wij bestrijden ook in...</h3> 
      <p> 
       <?php while(have_rows('subplaats')): the_row(); ?> 
        <?php $plaats = get_sub_field('plaats'); ?> 
        <?php echo $plaats; ?>, 
       <?php endwhile; ?> 
      </p> 
     </div> 
    </section> 
<?php endif; ?> 

kimse bunu gerçekleştirmek nasıl söyler misiniz:

İşte benim kod? Gelişmiş Özel Alanlar kullanıyorum. Hiyerarşik düzeyde de doğru mu yapıyorum?

cevap

1

Sen yineleyici toplam alanları saymak gerekir:

count(get_field('subplaats')); 

sonra geçerli "sayılır" alanı sonuncusu olup olmadığını kontrol etmek bir alan sayaç var.

Ben düzenlenmiş ve kodunuzu test edilmiş ve İyi çalışıyor:

<?php 
     if (have_rows('subplaats')): 
       $all_fields_count = count(get_field('subplaats')); 
       $fields_count = 1; 
?> 
<section id="subplaats"> 
     <div class="subplaats-container"> 
      <h3 class="support">Wij bestrijden ook in...</h3> 
      <p> 
      <?php 
       while (have_rows('subplaats')): the_row(); 
         $plaats = get_sub_field('plaats'); 
         echo $plaats; 
         if ($fields_count == $all_fields_count) { 
          echo "."; 
         } else { 
          echo ", "; 
         } 
         $fields_count++; 
       endwhile; 
      ?> 
      </p> 
     </div> 
</section> 
<?php 
     endif; 
?> 

Şerefe!

+0

Bir çekicilik gibi çalışır, çok teşekkürler! Bunu bir foreach ile çözmeye çalışıyordum ama işe yaramadı. – Falch0n