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; ?>