2016-09-06 5 views
0

Ich muss die Schleife im erweiterten benutzerdefinierten Feld anzeigen. Dieser Code gibt nur das erste Bild zurück.Erweiterte benutzerdefinierte Feldschleife Bilder

<?php if(have_rows('colors')): ?> 

    <ul> 

    <?php while(have_rows('colors')): the_row(); ?> 

    <?php $image = wp_get_attachment_image_src(get_field('colori'), 'full'); ?> 
<img src="<?php echo $image; ?>" alt="<?php echo get_the_title(get_field('colors')) ?>" /> 

    <?php endwhile; ?> 

    </ul> 

<?php endif; ?> 

Antwort

1

Innerhalb eines ACF Repeater Feld müssen Sie get_sub_field(), nicht get_field() verwenden. So sollte der Code wie folgt aussehen:

<?php if(have_rows('colors')): ?> 

    <ul> 

    <?php while(have_rows('colors')): the_row(); ?> 

    <?php $image = wp_get_attachment_image_src(get_sub_field('colori'), 'full'); ?> 
<img src="<?php echo $image[0]; ?>" alt="<?php echo get_the_title(get_sub_field('colors')) ?>" /> 

    <?php endwhile; ?> 

    </ul> 

<?php endif; ?> 

Es ist möglich, dass es wieder falsche Werte zurückgibt, weil ich weiß nicht, wie Sie Ihre ACF (Repeater) Unterfelder genannt.

Das Unterfeld 'colori' muss ein ACF-Bildfeld sein, das eine ID ausgibt. Nicht ein Array oder etwas anderes.

wp_get_attachment_image_src() gibt ein Array zurück. [0] => url , [1] => width, [2] => height

Lesen Sie das Dokument für ein Repeaterfeld here.

+0

Großartig, aber ich benutze nicht ACF PRO – Geme

+0

Sorry aber 'have_rows()' gilt nur für Repeater oder flexible Inhalt Felder von ACF (Pro oder Premium-Addon) ... so dachte ich, Sie würden die Pro-Version verwenden .. . –

Verwandte Themen