如何为以下PHP代码行添加括号解决嵌套三元运算符报错
修复方案
这个报错是PHP 8.0及以上版本的语法强制要求导致的:无明确括号分组的嵌套三元运算符已被废弃,你当前的代码属于两层嵌套三元运算未加括号的情况。
操作步骤
- 打开站点路径下的
/var/www/vhosts/[domain]/httpdocs/wp-content/themes/Avada/includes/avada-functions.php文件 - 定位到第443行的原有代码,全量替换为下方的修复后代码:
$items .= '<input type="hidden" name="redirect" value="' . esc_url( ( isset( $_SERVER['HTTP_REFERER'] ) ) ? esc_url_raw( wp_unslash( $_SERVER['HTTP_REFERER'] ) ) : ( isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '' ) ) . '">';
- 保存修改后的文件,刷新网站即可恢复正常访问。
补充说明
本次修改仅给第二层三元运算补充了括号明确优先级,完全保留原有代码的业务逻辑,不会引发其他功能异常。
内容的提问来源于stack exchange,提问作者roomsoes
相关产品推荐
相关产品推荐

