acf repeater foreach

Не могу понять как вывести поля из документации https://www.advancedcustomfields.com/resources/repeater/

<?php 
$rows = get_field('repeater_field_name');
if( $rows ) {
    echo '<ul class="slides">';
    foreach( $rows as $row ) {
        $image =

     $row['image'];
           echo '<li>';
               echo wp_get_attachment_image( $image, 'full' );
               echo wpautop( $row['caption'] );
           echo '</li>';
     }
     echo '</ul>';
}

Как мне сделать такую структуру через верхний цикл? Не могу разобраться.

<ul class="social">
      <li><a href="#"><span class="ico ico-fb"></span>Facebook</a></li>
      <li><a href="#"><span class="ico ico-tw"></span>Twitter</a></li>
      <li><a href="#"><span class="ico ico-gp"></span>Google+</a></li>
      <li><a href="#"><span class="ico ico-pi"></span>Pinterest</a></li>
</ul>

Ответы (1 шт):

Автор решения: Simon

Если по приведенному Вами примеру с foreach, то что-то вроде:

<?php 
$rows = get_field('repeater_field_name');
if( $rows ) {
    echo '<ul class="social">';
    foreach( $rows as $row ) {
        $link    = $row['link'];
        $icon    = $row['icon'];
        $network = $row['network'];
           echo '<li>';
               echo '<a href="' . esc_url( $link ) . '">';
               echo '<span class="ico ico-' . $icon . '"></span>';
               echo $network;
               echo '</a>';
           echo '</li>';
     }
     echo '</ul>';
}

Но с while будет более читаем и симпатично, как по мне:

<?php if ( have_rows( 'repeater_field_name' ) ) : ?>
    <ul class="social">
        <?php while( have_rows( 'repeater_field_name' ) ) : the_row(); ?>
            <li><a href="<?php echo esc_url( the_sub_field( 'link' ) ); ?>"><span class="ico ico-<?php the_sub_field( 'icon' ); ?>"></span><?php the_sub_field( 'network' ); ?></a></li>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>
→ Ссылка