Student22
Student22

Reputation: 2299

ACF - repeater only showing 1 row on blog page

I have a repeater in my footer.php file and it works for the entire website, but whenever I go to the blog page (index.php), the repeater only displays one row of the entire repeater and I don't know why this is happening.

I've tried putting get_option('page_for_posts') as the repeater field's second parameter, but this didn't work.

This is how it looks on every page except the blog page.

enter image description here

and this is how it looks on the blog page itself:

enter image description here

It only shows one row on the blog page, which is the About Us column.

Here's the code:

<?php if ( have_rows('post_object_repeater') ) : ?>
    <?php while( have_rows('post_object_repeater') ) : the_row(); ?>
        <?php $header = get_sub_field( 'header' ); ?>
        <div class="<?php echo $number_of_columns; ?> col-md-6 col-12 list-column">
            <?php

            $posts = get_sub_field('post_object_relationship');

            if( $posts ): ?>
                <ul class="list-unstyled <?php if ( ! $header ): echo 'no-header'; endif; ?>">
                    <?php if ( $header ): ?>
                        <li class="header mb-3 font-weight-bold text-uppercase"><?php echo $header; ?></li>
                    <?php endif; ?>
                    <?php foreach( $posts as $post): ?>
                        <?php setup_postdata($post); ?>
                        <li class="list-item">
                            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                        </li>
                    <?php endforeach; ?>
                </ul>
                <?php wp_reset_postdata(); ?>
            <?php endif; ?>
        </div>
    <?php endwhile; ?>
<?php endif; ?>

This repeater does have a relationship field inside to pull each of the individual pages or custom post types of the website. Would anyone have an idea why not all of the repeater rows display on a blog page, but work on all other pages?

Upvotes: 0

Views: 421

Answers (1)

Paul
Paul

Reputation: 1422

Have you tried

if(have_rows('post_object_repeater', 'option')

while(have_rows('post_object_repeater', 'option'))

etc.

????

Upvotes: 1

Related Questions