Home Forums Add-ons Repeater Field displaying checkbox values in repeater


displaying checkbox values in repeater

  • Hi,
    I have a repeater called display_list and I want to output the checkbox categories I assign to to it like cat1,cat2,cat3…
    I was expecting ' . $row['category'] . to do it but I just get the value “Array”. The field is set to show labels and the var_dump does show the values e.g.:

    array(2) {
        string(15) "Business Topics"
        string(14) "General Topics"
      } <code>...from the</code>var_dump($row);
    $rows = get_field(‘database_list’);
    echo ‘<ul class=”db-list”>’;
    $i = 0;
    foreach($rows as $row)
    echo ‘<li class=”Department” rel=”‘ . $row['category'] . ‘”><a href=”‘ . $row[‘link’] . ‘” target=”_blank”>’ . $row[‘title’] . ‘</a><a href=”anchor#” class=”addspeech” rel=”#’.$i.'”></a></li>’. PHP_EOL;
    echo ‘</ul>’;

    …how do I capture and output the values? Thanks

  • A checkbox field stores an array, to output the values you need to loop over that array,

    I’m not sure why you’re using $rows = get_field(‘database_list’); instead of a have_rows() loop

    something like this, note this is not exact code, just an example.

    if (have_rows('database_list')) {
      while (have_rows('database_list')) {
        $categories = get_sub_field('category');
        if ($categories) {
          // loop over catagories
          foreach ($categories as $category) {
            echo '<li>'.$category.'</li>';

    or using an array

    $rows = get_field('database_list');
    if ($rows) {
      foreach ($rows as $row) {
        if ($row['category']) {
          foreach ($row['category'] as $category) {
            echo '<li>'.$category.'</li>';
Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.