How to share repeated fields across multiple pages?

I am loving the ACF (Advanced Custom Fields) plugin repeater field but I have two pages in my WordPress site that have sections which share exactly the same data.

Obviously one of the key aspects of a CMS is that when such a situation as the one above arises, the client should only have to update that shared data in one place.

Read More

I’m wondering how I can do this though? I have found the below:

<?php
$include = get_pages('include=120' );
$content = apply_filters('the_content' ,$include[0]->post_content);
echo $content;
?>

This works for ‘the_content’ but I am not sure how to substitute it for my repeater field data which looks like this:

<?php 

if( get_field('treatments' ) ): ?>

<?php 
$i = 0;
while( has_sub_field('treatments' ) ): 
$i++;
?>

<div class="treatments" id="treatment-<?php echo $i; ?>">

<img src="<?php the_sub_field('image' ); ?>"  />
<?php the_sub_field('description' ); ?>
<a href="<?php the_sub_field('link' ); ?>">Read More ></a>

</div> <!-- treatments -->

<?php endwhile; ?>

<?php endif; ?>

Related posts

Leave a Reply

1 comment

  1. The ACF functions accept a second argument which is the ID of the page you wish to retrieve the fields from. See the code examples in documentation.

    $page_id = 120;
    if( get_field( 'treatments', $page_id ) ):
    
        while( has_sub_field( 'treatments', $page_id ) ):
    
            // the_sub_field and get_sub_field don't need a post id parameter
            the_sub_field('image' );
            the_sub_field('description' );
    
        endwhile;
    
    endif;