Support

Account

Home Forums Add-ons Repeater Field How I can display a relationship filed into a repater field?

Solving

How I can display a relationship filed into a repater field?

  • I am sorry. I know more about frontend. I created a repeater field, inside of ir, I made a relationship field (to list the post of events) and one more repeater field (to list date selector). On the time of the consult, I can list all the dates

    the_sub_field(‘date’);

    But, when I try to do consults about

    the_sub_field(‘event’);

    , shows error of consult. How I can display a relationship filed into a repeater field?
    I am sorry about the english, but I am form another country

  • <?php if( have_rows('event') ): ?>
    
    	<div class="locations">
    
    	<?php while( have_rows('event') ): the_row(); ?>
    
    		<div class="location" style="border-bottom:1px solid #fff;">
    
                
               <?php the_sub_field('location'); //relationship field  ERRO ?> 
    
    			<?php if( have_rows('date_event') ): ?>
    
    				<ul class="staff-members">
    
    					<?php while( have_rows('date_event') ): the_row(); ?>
    						<li><?php the_sub_field('date'); //repeater field  OK ?></li>
    
    					<?php endwhile; ?>
    
    				</ul>
    
    			<?php endif; ?>
    		</div>
    
    	<?php endwhile; ?>
    	</div>
    
    <?php endif; ?>
  • HI @foxnove,

    Thanks for the post.

    For the relationship nested in the Repeater, you will need to change the_sub_field() function into a get_sub_field() function and then create a loop to fetch the post objects. Your code should then look like so:

    <?php if( have_rows('event') ): ?>
    
    	<div class="locations">
    
    	<?php while( have_rows('event') ): the_row(); ?>
    
    		<div class="location" style="border-bottom:1px solid #fff;">
    
                
               <?php $posts = get_sub_field('location'); ?> 
                           <?php if( $posts ): ?>
                              <ul>
                              <?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
                              <?php setup_postdata($post); ?>
                              <li>
                              <a href="<?php the_permalink(); ?>"><?php the_title(); ?>                                </a>
                              <span>Custom field from $post: <?php the_field('author'); ?></span>
                              </li>
                              <?php endforeach; ?>
                               </ul>
                              <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
                              <?php endif; ?>
    
    			<?php if( have_rows('date_event') ): ?>
    
    				<ul class="staff-members">
    
    					<?php while( have_rows('date_event') ): the_row(); ?>
    						<li><?php the_sub_field('date'); //repeater field  OK ?></li>
    
    					<?php endwhile; ?>
    
    				</ul>
    
    			<?php endif; ?>
    		</div>
    
    	<?php endwhile; ?>
    	</div>
    
    <?php endif; ?>
Viewing 3 posts - 1 through 3 (of 3 total)

The topic ‘How I can display a relationship filed into a repater field?’ is closed to new replies.