简体   繁体   中英

No Results from ACF Repeater Field

I have a WordPress site with the ACF repeater field installed. I have followed the video tutorials down to at and have tried every version of the template code examples on the site but I can't get anything to display at all, nothing.

My repeater field name 'carousel_images' and it has 3 sub fields, 'image', 'headline' and 'text'.

Can anyone help? I just want to display these fields on the front-end on my homepage, which is a static page using the 'front-page.php' template.

My code:

<?php if(get_field('carousel_images')): ?>
    <div>
        <?php while(has_sub_field('carousel_images')): ?>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></a>
            </div>
        <?php endwhile; ?>
    </div>
<?php endif; ?>

EDIT 1 My repeater field was inside of a custom post type so I had to use the WP_Query to display the custom post type before I tried to display the repeater field. Amended working code below.

Thanks again.

<?php

    $args = array(
        'post_type' => 'home_carousel_image'
    );

    $the_query = new WP_Query( $args );
?>


<!-- WP_Query WordPress loop -->
<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php if(get_field('carousel_images')): ?>
        <?php while(has_sub_field('carousel_images')): ?>
        <div>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></span></a>
            </div>
        </div>
        <?php endwhile; ?>
    <?php endif; ?>

<?php endwhile; else: ?>

    <!-- Displayed if no posts or pages are available -->
    <p>There are no posts or pages here!</p>

<?php endif; ?>

My repeater field was inside of a custom post type so I had to use the WP_Query to display the custom post type before I tried to display the repeater field. Amended working code below.

Thanks again.

<?php

    $args = array(
        'post_type' => 'home_carousel_image'
    );

    $the_query = new WP_Query( $args );
?>


<!-- WP_Query WordPress loop -->
<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php if(get_field('carousel_images')): ?>
        <?php while(has_sub_field('carousel_images')): ?>
        <div>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></span></a>
            </div>
        </div>
        <?php endwhile; ?>
    <?php endif; ?>

<?php endwhile; else: ?>

    <!-- Displayed if no posts or pages are available -->
    <p>There are no posts or pages here!</p>

<?php endif; ?>

Your repeater is not correct. A repeater is a row.

<?php if (have_rows('carousel_images')): ?>
    <div>
        <?php while (have_rows('carousel_images')): the_row(); ?>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></a>
            </div>
        <?php endwhile; ?>
    </div>
<?php endif; ?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM