Support

Account

Home Forums Add-ons Repeater Field Repeater returning empty

Solving

Repeater returning empty

  • Hi,

    I’m trying to display a repeater using the code supplied…

    <?php
    
    // check if the repeater field has rows of data
    if( have_rows('repeater_field_name') ):
    
     	// loop through the rows of data
        while ( have_rows('repeater_field_name') ) : the_row();
    
            // display a sub field value
            the_sub_field('sub_field_name');
    
        endwhile;
    
    else :
    
        // no rows found
    
    endif;
    
    ?>

    I’ve replaced “repeater_field_name” with the name of my repeater “hero_slides” and the “sub_field_name” with one of the sub fields I have…”slide_title”.

    It’s set to display on a home options page and I’ve added some rows there. But when I put that php into my front-page.php nothing appears. I echoed something in the // no rows found bit and that appeared so it’s obviously not finding any rows.

    I’m using PHP7, could that be causing issues?

    Barney

  • This reply has been marked as private.
  • I worked it out…I needed to add

    , option

    after the repeater name!

    B

  • Hi @pixelanddot

    I am glad you were able to have it fixed.

    Feel free to let me know in case something else comes up.

  • Actually I did have another question related to that…

    my repeater is slides for a carousel…the content of each slide is wrapped with

    <div class="active item"><div class="home-headlines">

    Only the first slide has the active class on it. Is there a simple way to add that in based on which row number it is?

    B

  • Hi @pixelanddot

    I believe the easiest way would be something like this:

    // check if the repeater field has rows of data
    if( have_rows('repeater_field_name', 'option') ): $i = 0;
    
     	// loop through the rows of data
        while ( have_rows('repeater_field_name', 'option') ) : the_row(); $i++; ?>
    
        <div class="<?php if ($i == 1){echo "active ";} ?>item">
            
            <?php
            // display a sub field value
            the_sub_field('sub_field_name');
            ?>
            
        </div>
        
        <?php
    
        endwhile;
    
    else :
    
        // no rows found
    
    endif;

    I hope this helps.

Viewing 6 posts - 1 through 6 (of 6 total)

The topic ‘Repeater returning empty’ is closed to new replies.