Cambiar el último elemento de salida en bucle (ACF)

1 minuto de lectura

Todavía estoy aprendiendo php, pero no puedo entender esto.

Para un bucle en WordPress, quiero generar una lista con lugares, separados por una coma y terminando con un punto.

Aquí está mi código:

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

¿Alguien podría decirme cómo lograr esto? Estoy usando campos personalizados avanzados. ¿También lo estoy haciendo bien a nivel jerárquico?

Necesita contar los campos totales en el repetidor:

count(get_field('subplaats'));

luego tenga un contador de campo para verificar si el campo “contado” actual es el último.

Edité y probé tu código y funciona bien:

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

¡Salud!

  • funciona de maravilla, muchas gracias! Estaba tratando de arreglar esto con un foreach, pero no funcionó.

    – Falch0n

    22 de marzo de 2016 a las 12:06

¿Ha sido útil esta solución?