2016-03-22 5 views
2

ich noch php lernen bin, kann aber den Kopf nicht auf diesen einen bekommen.letzte Element ändern Ausgabe in Schleife (ACF)

Für eine Schleife in Wordpress I zur Ausgabe mit Orten eine Liste mag, mit einem Komma getrennt und endet mit einem Punkt.

Hier ist mein Code:

<?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; ?> 

Könnte mir jemand sagen, wie dies zu erreichen? Ich verwende erweiterte benutzerdefinierte Felder. Tue ich auch direkt auf hierarchischer Ebene?

Antwort

1

Sie müssen die gesamten Felder in den Repeater zählen:

count(get_field('subplaats')); 

dann einen Feldzähler müssen zu prüfen, ob die aktuelle „gezählt“ Feld das letzte ist.

ich bearbeitet und getestet Code und es funktioniert gut:

<?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; 
?> 

Prost!

+0

funktioniert wie ein Charme, vielen Dank! Ich habe versucht, das mit einer foreach zu beheben, aber es hat nicht geklappt – Falch0n