Support

Account

Home Forums Add-ons Repeater Field Conditional logic for repeatable fields

Solving

Conditional logic for repeatable fields

  • Hi all,

    I am using ACF for some straightforward frontend output, all I am try to do is output a series of clients, some have case studies on my site, some don’t. At the minute, my code always displays a link, even if a case study doesn’t exist. I just need some help in adding some conditional logic so that the link doesn’t show if there isn’t a case study.

    
    <?php if(get_field('clients')): ?>
    			<div class="col clients boxed">
    					<h3>Clients</h3>
    					<ul id="client-list">
    				<?php while(has_sub_field('clients')): ?>
    						<li>
    							<a href="<?php the_sub_field('case_study_page'); ?>">
    							<?php the_sub_field('client_name'); ?>
    							</a>
    						</li>
    				<?php endwhile; ?>
    					</ul>
    			</div>
    			<?php endif; ?>
    

    Appreciate any help.

    Thanks

  • Hi @iamjustoneman

    A simple if statement will work like so:

    
    <?php if(get_field('clients')): ?>
    <div class="col clients boxed">
    		<h3>Clients</h3>
    		<ul id="client-list">
    	<?php while(has_sub_field('clients')): ?>
    			<li>
    				<?php if( get_sub_field('case_study_page'); ): ?>
    					<a href="<?php the_sub_field('case_study_page'); ?>">
    						<?php the_sub_field('client_name'); ?>
    					</a>
    				<?php else: ?>
    					<?php the_sub_field('client_name'); ?>
    				<?php endif; ?>
    			</li>
    	<?php endwhile; ?>
    		</ul>
    </div>
    <?php endif; ?>
    
  • I’m trying to do something fairly similar by adding a linked pdf resume to my heading if one is present, but I can’t get it to work. I tried building my function off of the simple if statement provided above. Here is the function I have written. I feel like I’ve looked over the following function so many times and I cannot figure out why it’s breaking.

    <?php 
    function sa_staffprof_acfinject() { 
        while ( have_posts() ) : the_post(); 
    
    		if(have_rows('staff_profile')): while(have_rows('staff_profile')) : the_row(); ?>
        	<article class="staff-row">
        		<div class="staff-details">
                    <?php if( get_sub_field('resume'); ): ?>
                        <a href="<?php the_sub_field('resume'); ?>">
                            <h1><?php the_sub_field('staff_name'); ?></h1>
                        </a>
                    <?php else: ?>
                        <h1><?php the_sub_field('staff_name'); ?></h1>
                    <?php endif; ?>
        			<h3><?php the_sub_field('staff_credits'); ?> | <span class="title-role"><?php the_sub_field('job_role'); ?></span></h3>
        			<p><?php the_sub_field('staff_bio'); ?></p>
                    
        		</div>
        	</article>
        	<?php
        	endwhile;
    
        	endif; 
    
        	endwhile;
    }
    
    remove_action( 'genesis_loop', 'genesis_do_loop' );
    add_action( 'genesis_loop', 'sa_staffprof_acfinject' );
    
    ?>
Viewing 3 posts - 1 through 3 (of 3 total)

The topic ‘Conditional logic for repeatable fields’ is closed to new replies.