我如果... ELSEIF ... else語句喜歡這樣的鏈條:如何使用「class_exists」條件裏面,如果...... ELSEIF
if (!empty($video_meta)) {
echo 'foo';
} elseif (WPCOM_Liveblog::is_liveblog_post()) {
echo 'bar';
} elseif (has_tag('featured')) {
echo 'foobar';
}
第二elseif的語句是在一個特定的依賴WordPress插件(liveblog)被激活。如果插件未處於活動狀態,則該函數將拋出致命錯誤,因爲類WPCOM_Liveblog
不存在。
我試圖用一個嵌套的IF語句這樣
if (has_post_format('video')) {
echo 'foo';
} elseif (class_exists('WPCOM_Liveblog')) {
if (WPCOM_Liveblog::is_liveblog_post()) {
echo'bar';
}
} elseif (has_tag('featured')) {
echo 'foobar';
}
如果第二個條件是假的,它永遠不會來的原因很明顯最終ELSEIF。 class_exists
條件始終評估爲true,並且if語句鏈終止。
我不能使用簡單的&&
條件,因爲我正在尋找一個停用的插件,第二個條件只會爲未知的類拋出一個致命錯誤。
我也不能改變if ... elseif語句的順序。訂單背後有一個目的。
這感覺就像一個簡單的PHP問題,但我很難過。無論如何,我可以嵌入elseif
的另一個條件嗎?基本上,如果條件的第一部分爲真,則執行第二個條件。如果兩者均爲真,則返回至elseif
。如果該類不存在,則第二個有條件檢查不會觸發。
你說:「如果條件的第一部分是真的,執行第二個條件」這是你的第一部分條件和第二條件?你能在你的代碼中解釋你問題的最後部分嗎? – 2015-03-19 02:59:41