高级自定义字段-检查是否存在多个get_field?

时间:2012-12-05 作者:Joshc

我似乎只能找到关于是否存在一个get\\u字段的文档。

是否可以将多个get\\u字段放入一个变量中,并使用该变量检查是否存在任何单个get\\u字段变量?

例如,我在下面列出这些变量,然后将它们全部放在一个变量中:$promotions

<?php 

    $rider_plan_code        = get_field(\'rider_plan_code\');
    $low_rate_finance_code  = get_field(\'low_rate_finance_code\');
    $custom_promo_code      = get_field(\'custom_promo_code\');

    $promotions = isset( $rider_plan_code, $low_rate_finance_code, $custom_promo_code );

?>

那我就用这个。。。<?php if ($promotions) { ?> 检查这些变量是否存在,但不起作用。

有人能指出我做错了什么吗?

非常感谢

参见下面我是如何使用这个的。。。

<div class="btn-group">

    <a class="btn " href="#"><i class="icon-share"></i> Post to wall</a>

    <a class="btn <?php if ($promotions) { echo \'dropdown-toggle\'; } ?> pricing-btn" href="#" title="Pricing" <?php if ($promotions) { echo \'data-toggle="dropdown"\'; } ?>>
        <strong>&#163;<?php the_field(\'rrp-pound-sterling\'); ?></strong><?php if ($promotions) { echo \' <span class="caret"></span>\'; } ?>
    </a>

    <?php if ($promotions) { ?>

        <ul class="dropdown-menu">
            <?php if ($rider_plan_code) { ?><li><a href="#">Rider Plan</a></li><?php } ?>
            <?php if ($low_rate_finance_code) { ?><li><a href="#">Low Rate Finance</a></li><?php } ?>
            <?php if ($custom_promo_code) { ?><li><a href="#"><?php echo $custom_promo_name; ?></a></li><?php } ?>
        </ul>

    <?php } ?>

</div>

3 个回复
SO网友:newpxsn

ACF不返回空变量,它将返回空变量。尝试检查!empty 而不是isset.

SO网友:28inch

是否确定未设置字段时,“get\\u field()”函数返回NULL?我认为即使自定义字段为空,isset也会为您提供true。值必须为NULL才能为false。未设置时,在单个字段上执行var\\u转储。

var_dump( get_field(\'rider_plan_code\'));

SO网友:Steve

从PHP手册:

如果提供了多个参数,则仅当设置了所有参数时,isset()才会返回TRUE。计算从左到右进行,并在遇到未设置的变量时立即停止。

结束

相关推荐

高级自定义字段-检查是否存在多个get_field? - 小码农CODE - 行之有效找到问题解决它

高级自定义字段-检查是否存在多个get_field?

时间:2012-12-05 作者:Joshc

我似乎只能找到关于是否存在一个get\\u字段的文档。

是否可以将多个get\\u字段放入一个变量中,并使用该变量检查是否存在任何单个get\\u字段变量?

例如,我在下面列出这些变量,然后将它们全部放在一个变量中:$promotions

<?php 

    $rider_plan_code        = get_field(\'rider_plan_code\');
    $low_rate_finance_code  = get_field(\'low_rate_finance_code\');
    $custom_promo_code      = get_field(\'custom_promo_code\');

    $promotions = isset( $rider_plan_code, $low_rate_finance_code, $custom_promo_code );

?>

那我就用这个。。。<?php if ($promotions) { ?> 检查这些变量是否存在,但不起作用。

有人能指出我做错了什么吗?

非常感谢

参见下面我是如何使用这个的。。。

<div class="btn-group">

    <a class="btn " href="#"><i class="icon-share"></i> Post to wall</a>

    <a class="btn <?php if ($promotions) { echo \'dropdown-toggle\'; } ?> pricing-btn" href="#" title="Pricing" <?php if ($promotions) { echo \'data-toggle="dropdown"\'; } ?>>
        <strong>&#163;<?php the_field(\'rrp-pound-sterling\'); ?></strong><?php if ($promotions) { echo \' <span class="caret"></span>\'; } ?>
    </a>

    <?php if ($promotions) { ?>

        <ul class="dropdown-menu">
            <?php if ($rider_plan_code) { ?><li><a href="#">Rider Plan</a></li><?php } ?>
            <?php if ($low_rate_finance_code) { ?><li><a href="#">Low Rate Finance</a></li><?php } ?>
            <?php if ($custom_promo_code) { ?><li><a href="#"><?php echo $custom_promo_name; ?></a></li><?php } ?>
        </ul>

    <?php } ?>

</div>

3 个回复
SO网友:newpxsn

ACF不返回空变量,它将返回空变量。尝试检查!empty 而不是isset.

SO网友:28inch

是否确定未设置字段时,“get\\u field()”函数返回NULL?我认为即使自定义字段为空,isset也会为您提供true。值必须为NULL才能为false。未设置时,在单个字段上执行var\\u转储。

var_dump( get_field(\'rider_plan_code\'));

SO网友:Steve

从PHP手册:

如果提供了多个参数,则仅当设置了所有参数时,isset()才会返回TRUE。计算从左到右进行,并在遇到未设置的变量时立即停止。

相关推荐