Support

Account

Home Forums Add-ons Repeater Field close if subfield has no value

Unread

close if subfield has no value

  • Hi there!

    I wrote the code below to loop trough a repeater field called “contentblock” with 4 subfields. The problem is, that if one of the subfields is empty, the containing <div> is not closed and thus the repeating content blocks get nested into each other, causing multiple layout problems.
    So, how can I close the containing div, e.g. the image gallery (“repeaterimages”), if no images are chosen?

    <?php
    function my_repeater() { 
    
    if( have_rows('repeater_field') ):
    
     	
        while ( have_rows('repeater_field') ) : the_row(); 
    
            
        <div class="contentblock">
            
            <?php $ankerlink = get_sub_field('_repeater_anker'); ?>
            <div style="position: relative;">	 	 
    		<?php if( $ankerlink ): ?>
    		<div id="<?php echo $ankerlink ?>" class="anchorposition"></div>	 	 
    		</div>
    		<?php endif; ?>
            
            <h3>
            <?php the_sub_field('_repeater_headline'); ?>
            </h3>
           
           <div class ="repeaterimages">
           <?php $images = get_sub_field('_repeater_bild'); 
    			if( $images ):?>
           		 <?php foreach( $images as $image ): ?>
    	      	<div class="imageblock fitimagecontainer">
    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /></div>
              	<?php endforeach; ?>
               	</div>
        	          
             <div class="textblock">
              <?php the_sub_field('_repeater_text'); ?>
              </div>
             
        </div>
            
    	<?php endif; 
       endwhile; 
       
    else :
    // no rows found
    endif;}
Viewing 1 post (of 1 total)

The topic ‘close if subfield has no value’ is closed to new replies.