Home › Forums › Add-ons › Repeater Field › Repeater field empty
If added a repeater field. But when I try to implement it, it returns empty.
I’ve tried to var_dump it. But I get a “bool(false)”.
<?php
the_content();
var_dump(have_rows('lookbook_album'));
?>
<?php
if( have_rows('lookbook_album') ):
while( have_rows('lookbook_album') ): the_row();
// vars
$image = get_sub_field('lookbook_slider_image');
$description = get_sub_field('lookbook_description');
$products_sku = get_sub_field('products_sku');
?>
<div class="lookbook">
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
<?php echo $description; ?>
<?php echo $products_sku; ?>
</div>
<?php endwhile; endif; ?>
Hi @rolf-databoss ,
Thanks a lot for reaching out to us.
Kindly ensure that you have correctly set the location settings to allow the repeater load inside the current posts/page.
Let me know how it goes
Hi @acf-support,
I think I’ve set it correctly because I can fill it in the admin side in the custom post type I’ve created.
There’s no problem when I save the post and I see the changes in the admin.
It’s just that I can’t get the content in the front-end.
Could you please make sure if you put the code inside The Loop? The issue you had probably occurred because you were trying to execute the have_rows() function outside of The Loop. To fix it, you need to pass the post/page ID as the second parameter to the have_rows() function like this:
have_rows(‘lookbook_album’, 99)
Where “99” is the post/page ID where the custom field is assigned. This page should give you more idea about it: https://www.advancedcustomfields.com/resources/get_field/.
If that doesn’t help, could you please try to debug the value like the following?
var_dump(get_field('lookbook_album', 99));
Thanks 🙂
Hi @acf-support,
I did a var_dump including the page is. It was already in the loop. But the only thing I get back in the var_dump get_field is:
string(1) “2”
But in var_dump have_rows including the post id I still get:
bool(false)
That’s weird. The var_dump(get_field('lookbook_album', 99));
code should show the repeater values with all of its rows, not only the total row count. Maybe there’s a function in your plugin or theme that causes this issue. Could you please try to reproduce the issue on one of the WordPress’ stock themes (like Twenty Sixteen) with other plugins deactivated? If it disappears, then you can activate the theme and plugins one by one to see which one causes the issue.
If the issue persists, could you please share the JSON or XML export of your field group so I can test it out on my end?
Thanks 🙂
I’ve found the problem. In my theme if got an offset. And that conflicted with the repeater field.
This is the offset I used. I made an adjustment to is so it only works on the index.
/* offset the default wordpress loop with 3 items */
add_action('pre_get_posts', 'myprefix_query_offset', 1 );
function myprefix_query_offset(&$query) {
if ( !$query->is_home() ) {
$offset = 3;
$ppp = get_option('posts_per_page');
if ( $query->is_paged ) {
$page_offset = $offset + ( ($query->query_vars['paged']-1) * $ppp );
$query->set('offset', $page_offset );
}
else {
$query->set('offset',$offset);
}
}
add_filter('found_posts', 'myprefix_adjust_offset_pagination', 1, 2 );
function myprefix_adjust_offset_pagination($found_posts, $query) {
//Define our offset again...
$offset = 3;
//Ensure we're modifying the right query object...
if ( $query->is_home() ) {
//Reduce WordPress's found_posts count by the offset...
return $found_posts - $offset;
}
return $found_posts;
}
Glad you found the issue. I believe you can also check if the query is for the ‘acf-field’ or ‘acf-field-group’ post types if you use the PRO version, and ‘acf’ post type if you use the free version.
Hope this helps 🙂
The topic ‘Repeater field empty’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.