Search code examples
sliderrepeateradvanced-custom-fields

ACF Repeater w/ Flexible Content Inside


I'm working with advance custom fields. I've got a ticket in with them directly but its taking a while. I need to figure this out immediately.

Trying to repeat flexible content for a hero slider where user can add video embed or an image. How do I echo each piece in the loop properly? The content imput in Wordpress is not appearing. The containers are echoing, just no content.

<?php
if (have_rows('add_resorts_hero_image_slide', 'option')) {
    while (have_rows('add_resorts_hero_image_slide', 'option')) {
        the_row();

        $herovideo = the_sub_field('add_resorts_hero_slider_video');
        $heroimage = the_sub_field('add_resorts_hero_slider_image');
            $heroimgsize = 'hero-image';
            $heroimg_array = wp_get_attachment_image_src($heroimage, $heroimgsize);
            $heroimg_url = $heroimg_array[0];


        if (have_rows('choose_resorts_hero_slider_content')) {
            while (have_rows('choose_resorts_hero_slider_content')) {
            the_row();

                echo '<li class="orbit-slide">';

                if( get_row_layout() == 'resorts_slider_video' )

                    echo $herovideo;

                elseif( get_row_layout() == 'resorts_slider_video')
                    echo '<img src="'.$heroimg_url.'" />';

                echo '</li>';

            }
        } 
 }

}


Solution

  • Finally figured out exactly what I needed. Hoping this answer helps someone else out!

    <!--ORBIT SLIDE-->
    <?php
    if (have_rows('add_resorts_hero_image_slide', 'option')) {
        while (have_rows('add_resorts_hero_image_slide', 'option')) {
            the_row();
    
                if (have_rows('choose_resorts_hero_slider_content')) {
                    while (have_rows('choose_resorts_hero_slider_content')) {
                        the_row();
    
                        $herovideo = get_sub_field('add_resorts_hero_slider_video');
                        $heroimage = get_sub_field('add_resorts_hero_slider_image');
                        $heroimgsize = 'hero-image';
                        $heroimg_array = wp_get_attachment_image_src($heroimage, $heroimgsize);
                        $heroimg_url = $heroimg_array[0];
    
                        if( get_row_layout() == 'resorts_slider_video' ) {
    
                        echo '<li class="video orbit-slide">';
                        echo '<img class="background" src="http://localhost.com/vail/tier2-hero-placeholder.jpg" />';
    
                           echo '<div class="container">
                                     <div class="watermark"></div>
                                     <iframe id="heroorbitslider-video"
                                             src="'. $herovideo .'"
                                             width="100%" 
                                             frameborder="0" 
                                             scrolling="no" 
                                             allowFullscreen="true" 
                                             allowFullScreen="true" 
                                             webkitAllowFullScreen="true" 
                                             mozAllowFullScreen="true">
                                     </iframe>
                                 </div>';
                      echo '</li>';
                    }
    
                    elseif( get_row_layout() == 'resorts_slider_image') {
    
                        echo '<li class="orbit-slide">';
                            echo '<img class="background "src="'. $heroimg_url .'" />';
                        echo '</li>';
                    }
    
    
                }
    
            }
    
        }
    
    }
    
    ?>
    <!--END ORBIT SLIDE-->