使用 ACF 插件在 WP 中编写代码。
条件:有图片(横幅)和滑块。他们在网站上共享一个位置。那些。如果有图片,则不显示滑块,如果没有图片,则显示滑块。
编码:
<?php $banner = get_field('banner_stock');
if (isset($banner)) { ?>
<img class="offer-center__banner" src="<?php echo $banner['url']; ?>" alt="<?php echo $banner['alt']; ?>" />
<?php } else { ?>
<!-- Advantages - offer-center__slider -->
<div class="offer-center__slider df">
<!-- advantage №1 -->
<a href="advantages" class="offer-center__slider_item">
<?php $image = get_field('advantage_1_img'); ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<p>
<?php the_field('advantage_1_txt'); ?>
</p>
</a>
<!-- advantage №2 -->
<a href="advantages" class="offer-center__slider_item">
<?php $image = get_field('advantage_2_img'); ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
<p>
<?php the_field('advantage_2_txt'); ?>
</p>
</a>
</div>
<?php } ?>
在这种情况下,只满足第一个条件 - 显示图像(横幅),但是一旦您将其从 WP 数据库中删除,滑块就不想显示。你能告诉我如何正确编写代码以满足第二个条件 - 当数据库中没有图片并且显示滑块时?
我不确定,但尝试替换:
在:
在第二行。
isset(),检查变量是否存在,并且由于它已定义,它将始终返回true(如果它是空字符串,而不是null)。同时,empty()也检查是否存在,但另外检查是否为空。
数据库中的字段必须显式为NULL,而不是空字符串。那么条件就满足了!
要确保在没有横幅时返回什么,请执行以下操作:
看看你有什么,如果string,那么我的假设是正确的......