使用WordPress的PHP if/else get_field()

mar*_*nes 5 php wordpress if-statement advanced-custom-fields

我正在尝试在WP后端为客户端提供一些选项,以自定义在其网站主页上显示的轮播.我正在使用高级自定义字段来处理从客户端获取输入.我想给他们两个选择:

选项#1)允许客户端插入要显示的文本字符串('carousel_title_text')

选项#2)允许客户上传要显示的徽标('carousel_logo')

我希望代码检查标题文本,如果没有,则显示徽标.我还没有决定如果两个字段都是空的会发生什么.无论如何,这是我想出的:

<?
if( get_field('carousel_title_text') ) { ?>
  <h2 class="promo"><?php the_field('carousel_title_text');?></h2>
<? } elseif( get_field('carousel_logo') ) {
  the_field('carousel_logo');
}
?>
Run Code Online (Sandbox Code Playgroud)

只要有输入,'carousel_title_text'就会显示,但是当它为空并且'carousel_logo'不是时,它就不能正确输出徽标.任何人都可以告诉我我做错了什么或者是否有更好的方法?

提前致谢,

小智 0

您已将其他条件放在最后,如果客户端不输入文本或徽标,则将显示默认文本。您将使用以下代码。

<?php  
 if( get_field('carousel_title_text') ) { ?>
  <h2 class="promo"><?php the_field('carousel_title_text');?></h2>
<?php } elseif( get_field('carousel_logo') ) {
  the_field('carousel_logo');
}else {
  echo " <h2 class="promo"> Default slider title </h2>"
}?>
Run Code Online (Sandbox Code Playgroud)

它的默认标题客户端表明他尚未输入滑块文本

希望它对你有用。