2015-10-17 72 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;