我有一个滑块(Bootstrap 4),渲染一些通过FTP上传到服务器上的图像。
我使用下面的代码在前端渲染这些图像。
<img src="<?php echo get_template_directory_uri(); ?>/files/images/<?php the_sub_field('image'); ?>" class="img-fluid is-slider-item" />
这是有效的,但问题是,在前端也呈现空字段,显示空元素。
这是如何"空"幻灯片现在以HTML格式呈现。
<img src="http://mywebsite.local/wp-content/themes/new/files/images/" class="img-fluid is-slider-item">
图像在HTML
中呈现如下<img src="http://mywebsite.local/wp-content/themes/new/files/images/2345672.png" class="img-fluid is-slider-item">
如何防止在前端呈现空幻灯片?
这里是整个代码
<?php if( have_rows('files') ): ?>
<div class="carousel_bg">
<div class="container">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<?php
$active = 'active';
$num = 0;
while ( have_rows('files') ) : the_row();
?>
<li data-target="#carousel-example-generic" data-slide-to="<?php echo $num ?>" class="<?php echo $active ?>"></li>
<?php
$active = '';
$num += 1;
endwhile; ?>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<?php
$active = 'active';
while ( have_rows('files') ) : the_row();
?>
<div class="carousel-item <?php echo $active ?> screen08">
<div class="container">
<img src="<?php echo get_template_directory_uri(); ?>/files/images/<?php the_sub_field('image'); ?>" class="img-fluid is-slider-item" />
</div>
</div><!-- /item -->
<?php $active = '';
endwhile;
?>
</div>
</div>
</div>
</div><!-- /row -->
<?php endif; ?>
我尝试的是将<?php if( have_rows('files') ): ?>
移动到<div class="carousel_bg">
中,但它不起作用
提示吗?
多谢!
我们需要的图片在sub_field ('image')中,我们需要检查在循环的顶部是否有图片。如果没有,请跳过此步。
试试这个代码
<?php if( have_rows('files') ): ?>
<div class="carousel_bg">
<div class="container">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<?php
$active = 'active';
$num = 0;
while ( have_rows('files') ) : the_row();
$image = get_sub_field('image');
if($image == "" ) continue;
?>
<li data-target="#carousel-example-generic" data-slide-to="<?php echo $num ?>" class="<?php echo $active ?>"></li>
<?php
$active = '';
$num += 1;
endwhile; ?>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<?php
$active = 'active';
while ( have_rows('files') ) : the_row();
$image = get_sub_field('image');
if($image == "" ) continue;
?>
<div class="carousel-item <?php echo $active ?> screen08">
<div class="container">
<img src="<?php echo get_template_directory_uri(); ?>/files/images/<?php the_sub_field('image'); ?>" class="img-fluid is-slider-item" />
</div>
</div><!-- /item -->
<?php $active = '';
endwhile;
?>
</div>
</div>
</div>
</div><!-- /row -->
<?php endif; ?>