Support

Account

Home Forums Add-ons Repeater Field Loop Only Portion of Shortcode Reply To: Loop Only Portion of Shortcode

  • This got answered on another forum faster and I thought I’d share the answer for anyone having the same problem or frustration trying to only repeat certain section of a shortcode in a repeater field:

    You need to generate the shortcode within the loop, and then execute it afterwards:

    if ( have_rows( 'homepage_slider' ) ) {
        $shortcode = '[ux_slider timer="4500" arrows="true" bullets="true" auto_slide="true" nav_color="light"]';
    
        while ( have_rows('homepage_slider') ) {
            the_row();
    
            $shortcode .=
    '[ux_banner bg=" ' . get_sub_field( 'slider_image' ) . ' " height="600px" text_color="light" text_align="center" text_pos="center" text_width="70%" parallax_text="0" parallax="3" effect="sparkle"]
        <h1>' .  get_sub_field( 'slider_slide_title' ) . '</h1>
        <h4 class="thin-font">' . get_sub_field( 'slider_sub_title' ) . '</h4>
    [/ux_banner]';
    
        }
    
        $shortcode .= '[/ux_slider]';
    
        echo do_shortcode( $shortcode );
    }