If either one of $image
and $content
are not empty .section-intro
should be output to the page. i.e if both are empty .section-intro
should not output. For some reason my code isn't outputting anything to page despite at least one of the fields not being empty. Any pointers as to what I'm doing wrong would be greatly appreciated.
<?php if(have_rows('image_slideshow')):
$image = get_sub_field('image');
$content = get_sub_field('centered_text');
?>
<?php if(!empty($image) || !empty($content)): ?>
<div class="section-intro">
<div class="slides">
<?php while( have_rows('image_slideshow') ): the_row(); ?>
<div class="slide intro">
<?php if(!empty($image)): ?>
<img src="<?php echo $image['url']; ?>">
<?php endif; ?>
<?php echo $content; ?>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
Use AND
instand of OR
<?php if(!empty($image) && !empty($content)): ?>
Also, your full code must be like this
<?php
if(have_rows('image_slideshow')):
$image = get_sub_field('image');
$content = get_sub_field('centered_text');
?>
<?php if(!empty($image) && !empty($content)): ?>
<div class="section-intro">
<div class="slides">
<?php while( have_rows('image_slideshow') ): the_row(); ?>
<div class="slide intro">
<?php if(!empty($image)): ?>
<img src="<?php echo $image['url']; ?>">
<?php endif; ?>
<?php echo $content; ?>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif ?>
Use && instead of ||
<?php if(have_rows('image_slideshow')):
$image = get_sub_field('image');
$content = get_sub_field('centered_text');
?>
<?php if(!empty($image) && !empty($content)): ?>
<div class="section-intro">
<div class="slides">
<?php while( have_rows('image_slideshow') ): the_row(); ?>
<div class="slide intro">
<?php if(!empty($image)): ?>
<img src="<?php echo $image['url']; ?>">
<?php endif; ?>
<?php echo $content; ?>
</div>
<?php endwhile; ?>
</div>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
construction code show be continuos like this
<?php if(have_rows('image_slideshow')):
$image = get_sub_field('image');
$content = get_sub_field('centered_text');
if(!empty($image) || !empty($content)){
echo "<div class='section-intro'> <div class='slides'>";
while( have_rows('image_slideshow') )
the_row();
echo " <div class='slide intro'> ";
if(!empty($image))
echo "<img src= $image['url'] >";
echo $content;
?>
</div>
</div>
</div>