PHP 中的条件条件

Conditional for conditional in PHP

我陷入了一个奇怪的境地。我正在从 WordPress 的管理面板中获取动态布尔值,并且根据该数据条件,我需要设置另一个条件语句,但是在实现时我才知道,我从来没有这样做过。

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 ':'...

如何将条件置于条件语句之上?

既然附加部分附加了基本条件(来自后端的动态值),为什么我们不将它们绑定在一起?

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

所以如果option是get,那么我们需要匹配is_page_template是不是blog。如果未设置该选项,则我们的次要条件已准备就绪:仅适用于 home 页面。

将“:”替换为分号“;”

第二个如果没有正文,将 : 替换为 ;类似于:

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

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

您的内部 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;