仅当自定义字段上有设置值时,我如何显示包含自定义字段<p>?

时间:2014-11-20 作者:Lucas Santos

我正在使用自定义字段插件,有2个自定义字段分配给我的“产品”自定义帖子类型。

字段1。价格

字段2折扣价格

这是我的代码:

<div class="wrapper">
<p>Price: <?php the_field(\'price\'); ?></p>
</div> 
“现在,这就是我试图实现的假设”

 <div class="wrapper">
<?php if (the_field(\'discount\'); )is set: ?>
    <p>Discount: <?php the_field(\'discount\'); ?></p>
<?php endif; ?>

<?php else: ?>
    <p>Price: <?php the_field(\'price\'); ?></p>
    </div><!--wrapper-end--> 


    <?php endif; ?>
我不知道这是否是实现我想要实现的目标的最佳方式,但我试图只显示某个自定义字段,而不显示另一个自定义字段,这取决于是否设置了其中一个自定义字段。

这就是给我带来麻烦的逻辑:

if <?php the_field(\'discount\'); ?> is set:
我确实尝试过使用:

<?php $values = get_post_custom_values("discount");

  if ( is_array($values) ): ?>

<p>Discount: <?php the_field(\'discount\'); ?></p>

<?php else: ?>

<p>Price: <?php the_field(\'price\'); ?></p>

<?php endif; ?>
但当我设置了价格字段而不是折扣字段时,它似乎不起作用,只是没有显示任何内容。但如果我设置了折扣,它就会显示出来。

有人有主意吗?

UPDATE

因此,每当我设置折扣时,它都会显示出来,但当我没有折扣时,我的原始价格字段就不会显示出来。这告诉我else语句有问题。

不要介意我现在尝试了代码,if语句不起作用,只显示else,这是价格

1 个回复
最合适的回答,由SO网友:Digitalchild 整理而成

您可以使用ACF中的get\\u字段检查该字段是否可用,并根据documentation 如何有条件地检查字段是否有内容。

<div class="wrapper">
    <?php if (get_field(\'discount\')) { ?>
        <p>Discount: <?php the_field(\'discount\'); ?></p>
    <?php } else {  ?>
        <p>Price: <?php the_field(\'price\'); ?></p>
    <?php } ?>
</div><!--wrapper-end--> 
这应该给你你想要的。

结束

相关推荐

无法让Single.php上的分页使用我的自定义帖子类型

我正在为我的自定义帖子类型使用自定义帖子类型和自定义字段插件。在我的网站上,除了我的单张外,其他所有分页都很顺利。php。我有一个自定义的post类型的“产品”,其中有几十个产品被分配到一个自定义的“类型”分类法中,到目前为止,我已经在我的其他页面上获得了所有分页来处理自定义查询。然而,在单。php,我不需要使用自定义查询,所以我不确定我的方法是否正确。下面是我非常简单的代码:<div class=\"wrap\"> <?php while ( have_posts() ) :