2015-10-17 65 views
0

我陷入了一個奇怪的境地。我在WordPress的管理面板中使用了動態布爾值,並且使用這種數據條件,我需要設置另一個條件語句,但是在實現時我才知道,我從來沒有這樣做過。有條件的在PHP中有條件

if(get_option('on_blog_page_too')) 
    if(is_home() || is_page_template('blog.php')) : 
else 
    if(is_home()) : 

但你能理解我得到解析錯誤:

Parse error: syntax error, unexpected 'if' (T_IF), expecting ':'...

我怎麼能把條件在條件語句?

回答

0

由於附加部分附帶有基本條件(來自後端的動態值),爲什麼不把它們綁定在一起呢?

if((get_option('on_blog_page_too') && is_page_template('blog.php')) || is_home()) : 

所以如果option是得到的,所以我們需要匹配is_page_templateblog與否。如果該選項未設置,我們的輔助條件已準備就緒:僅適用於home頁面。

+0

這並沒有真正回答這個問題。請編輯您的問題,而不是發佈答案。 –

0

用「分號」替換「:」;「

+0

我想你是PHP的:p –

+3

@FirasRassas http://php.net/manual/en/control-structures.alternative-syntax.php – Terminus

+1

好吧,不知道..謝謝..所以我認爲你錯過了「endif」;在末尾 –

1

如果沒有身體,則換一次:用;例如:

if(get_option('on_blog_page_too')){ 
    if(is_home() || is_page_template('blog.php')){ 

    } 
}else{ 
    if(is_home()); 
} 
+0

以外不會做任何事情,但這可能是一種方法,但是我在每個條件下都有大量項目顯示,所以我不能這樣做。 –

0

對於您的內部if語句,您缺少endif;

if(get_option('on_blog_page_too')) 
    if(is_home() || is_page_template('blog.php')) : 
     // code here 
    endif; 
else 
    if(is_home()) : 
    // code here 
    endif;