安装Opal主题后出现PHP三元运算符语法错误,如何解决?
解决嵌套三元运算符的致命错误
这个错误是因为PHP 7.4及以上版本禁止使用未加括号的嵌套三元表达式,这种写法存在运算优先级歧义,必须明确用括号指定执行顺序。
具体修改步骤
- 打开错误文件:
/home/mhd-01/www.triumphclubroma.it/htdocs/wp-content/themes/lexrider/inc/admin/screens/welcome.php,定位到第96行。 - 修改原代码中的三元表达式,给内层判断加上括号,明确逻辑优先级:
原代码:
<span class="<?php echo esc_attr( $status['time_limit'] ? 'pass' : ( $data['time_limit'] >= 60 ) ? 'warning' : 'fail' ); ?>"></span>
修改后代码(保持原逻辑,添加括号消除歧义):
<span class="<?php echo esc_attr( $status['time_limit'] ? 'pass' : ( ( $data['time_limit'] >= 60 ) ? 'warning' : 'fail' ) ); ?>"></span>
可选优化方案(提升代码可读性)
如果觉得嵌套三元表达式不够直观,可以替换成更清晰的if-else语句,避免后续维护出错:
<?php $status_class = 'fail'; if ($status['time_limit']) { $status_class = 'pass'; } elseif ($data['time_limit'] >= 60) { $status_class = 'warning'; } ?> <span class="<?php echo esc_attr( $status_class ); ?>"></span>
修改完成后保存文件,刷新网站页面即可解决该致命错误。
内容的提问来源于stack exchange,提问作者Pierluigi Smargiassi
相关产品推荐
相关产品推荐

