如果值不为空,PHP仅在滑块中显示照片

时间:2018-08-21 18:30:10

标签: php wordpress string if-statement isset

我正在尝试制作一个滑块,并且当后端上传3张图片时,它可以完美工作。数量较少时不起作用。

The slider is a standard Bootstrap slider as seen here

The "the_field('afbeelding')" is from Advanced custom fields WP plugin as seen here

在WP后端中,用户可以上传图像,the_field('afbeelding')会将URL打印到图像。

例如,如果只有2张图像,那么它应该只显示2张幻灯片。

<div id="myCarousel" class="carousel slide" data-ride="carousel">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
        <li data-target="#myCarousel" data-slide-to="1"></li>                  
        <li data-target="#myCarousel" data-slide-to="2"></li>                 
    </ol>

    <!-- Wrapper for slides -->
    <div class="carousel-inner" >
        <div class="item active">
          <img src="<?php the_field('afbeelding')?>" alt="<?php the_title() ?>">
        </div>
        <div class="item">
          <img src="<?php the_field('afbeelding_2');?>" alt="">
        </div>
        <div class="item">
          <img src="<?php the_field('afbeelding_3');?>" alt="">
        </div>         
    </div>

    <!-- Left and right controls -->
    <a class="left carousel-control" href="#myCarousel" data-slide="prev">
       <span class="glyphicon glyphicon-chevron-left"></span>
       <span class="sr-only">Previous</span>
    </a>
    <a class="right carousel-control" href="#myCarousel" data-slide="next">
       <span class="glyphicon glyphicon-chevron-right"></span>
       <span class="sr-only">Next</span>
    </a>
</div>  

我试图通过将每个项目更改为此来解决此问题:

<?php if(isset(the_field('afbeelding_2'))){?>
     <div class="item">
       <img src="<?php the_field('afbeelding_2');?>" alt="">
     </div> 
<?php } ?>

但这没用...

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您检查正在使用的高级自定义字段的参考代码,您几乎就在那儿,您会发现,如果要检查该字段的值是否存在,则需要使用get_field()函数。

我以前从未使用过此插件,但我相信the_field()总是返回true,这就是为什么您需要get_field()的原因,如果值存在,则返回true,否则返回false,在这种情况下您的情况将按预期工作。

<?php
if (get_field('afbeelding_2')) { ?>
<div class="item">
<img src="<?php the_field('afbeelding_2');?>" alt="">
</div>
<?php }?>

Reference