2014-12-03 42 views
0

我正在使用WordPress的高級自定義字段中的複選框。我只有一個值設置的,那是是的「是」PHP - 測試數組值

的值,所以我已經安裝了以下測試:

<?php if (!in_array('Yes', get_field('banner'))) : ?> 

然而,對於那些帖子說有指定的值,我得到以下錯誤:

Warning: in_array() expects parameter 2 to be array, boolean given in /var/sites/d/dev-chwng.co.uk/public_html/wp-content/themes/chwng/loop-slideshow.php on line 19

我,因爲想象在沒有選擇「是」的項目,這反過來意味着沒有陣列稱爲已設置

「旗幟」 210

我試圖把整個事件放在<?php if (get_field('banner')) : ?>的聲明中,它可以防止錯誤,但是它會停止腳本的工作方式(很難解釋)。

有沒有人知道我如何確定'是'的值而不會引發錯誤?

+0

難道我的回答不會爲你工作? – rnevius 2014-12-04 07:49:12

+0

@rnevius抱歉,由於某種原因,我沒有收到通知郵件,我會盡快檢查並回復您!謝謝 – pealo86 2014-12-04 09:04:47

回答

1

你可以額外(第一),驗證它是一個數組,使用is_array()

<?php 
    $banner = get_field('banner'); 
    if (is_array($banner) && !in_array('Yes', $banner)) : ?> 

這將使到else聲明腳本舉動立即,如果get_field()不返回數組。

+0

謝謝,但不幸的是,不工作。它可以防止錯誤,但由於WP插件的工作原理,它會停止工作,因此我需要......儘管如此,謝謝! – pealo86 2014-12-04 09:32:56

0

由於WP插件是如何工作的,看來我能得到的唯一方式工作,我多麼需要有人用

<?php if (get_field('banner') == '') : ?>