ACF-Loop-Repeater-Werte mit get_field

Lesezeit: 2 Minuten

Makis Benutzeravatar
Maki

Ich habe ein benutzerdefiniertes Feld mit dem Repeater-Layout erstellt, um Eingabetext hinzuzufügen. Ich möchte alle Werte anzeigen. Ich habe Code in der ACF-Dokumentation gefunden, verstehe aber nicht, wie er funktioniert

<?php 
$rows = get_field('repeater_field_name');
if($rows)
{
    echo '<ul>';

    foreach($rows as $row)
    {
        echo '<li>sub_field_1 = ' . $row['sub_field_1'] . ', sub_field_2 = ' . $row['sub_field_2'] .', etc</li>';
    }

    echo '</ul>';
}
?>

http://www.advancedcustomfields.com/resources/repeater/

Ich weiß nicht, wie viele Felder ich mit dem Repeater erstellen werde, und ich möchte alle Werte mit foreach loopen. Ist das möglich?

Vielen Dank im Voraus

Geben Sie hier die Bildbeschreibung ein
Geben Sie hier die Bildbeschreibung ein

  • Der Code, den Sie gefunden haben, wird alle Werte aus dem Repeater-Feld durchlaufen, ändern Sie einfach field_name mit Ihren Feldnamen (Slug-Namen) und es wird funktionieren.

    – Christophvh

    25. Januar 2016 um 10:44 Uhr

  • Es funktioniert nicht! 🙁 Ich habe meinen Repeater_field_name: get_field('MY_repeater_field_name'); und mein field_name: $row['MY_sub_field_1'] aber es funktioniert nicht. Es gibt mir das zurück: sub_field_1 = , sub_field_2 = , etc sub_field_1 = , sub_field_2 = , etc

    – Maki

    25. Januar 2016 um 10:55 Uhr

  • vielleicht eine dumme Frage, aber hast du etwas in deinem Beitrag hinzugefügt? weil es so aussieht, als ob es funktioniert, aber in den Feldern kein Wert steht?

    – Christophvh

    25. Januar 2016 um 10:59 Uhr

  • Ja sicher. Ich habe einige Werte in die benutzerdefinierten Felder eingegeben. Mit dem Repeater erstelle ich zwei benutzerdefinierte Felder. Gibt es eine andere Möglichkeit, diese Werte anzuzeigen?

    – Maki

    25. Januar 2016 um 11:15 Uhr

  • Ich habe auch diesen Code gefunden: Verknüpfung Unter Arbeiten mit Array-Werten. Ich gebe meinen Repeater_field_name ein und er gibt mir Folgendes zurück: array(2) { [0]=> array(1) { ["testo"]=> string(10) "My Value 1" } [1]=> array(1) { ["testo"]=> string(10) "My Value 2" } } Kann mir dieser Code also helfen?

    – Maki

    25. Januar 2016 um 11:20 Uhr

Für jede Version:

<?php 

$rows = get_field('repeater');
if($rows)
{
    echo '<ul>';

    foreach($rows as $row)
    {
        echo '<li>sub_field_1 = ' . $row['text'] . '</li>';
    }

    echo '</ul>';
}

While-Version:

<?php

// check if the repeater field has rows of data
if( have_rows('repeater') ):

    // loop through the rows of data
    while ( have_rows('repeater') ) : the_row();

        // display a sub field value
        the_sub_field('text');

    endwhile;

else :

    echo 'nothing found';

endif;

?>

Benutzeravatar von Fuzail Akhtar
Fuzail Akhtar

Ich würde es so beheben:

<?php
if( have_rows('slide') ): 
  $l= 1;
  while( have_rows('slide') ): the_row();       
    $l++;
  endwhile; 
endif;  
?>

1437720cookie-checkACF-Loop-Repeater-Werte mit get_field

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy