Ninja Form触发致命错误,如何修复出现严重错误的WordPress网站?
问题原因
该报错是Ninja Forms插件版本与站点PHP版本不兼容导致的。PHP 7.1及以上版本引入了void返回类型声明,插件中NF_Admin_Metaboxes_Calculations::registerReactMetabox()方法声明了返回void类型,但对应代码未实现符合规范的返回逻辑,触发致命错误导致站点崩溃。
第一步:紧急恢复站点访问
- 通过FTP、SFTP或主机面板的文件管理器进入站点根目录,定位到
wp-content/plugins/路径 - 重命名
ninja-forms文件夹为ninja-forms-bak,WordPress会自动禁用该故障插件,站点即可恢复正常访问 - 若你可以进入WordPress后台的恢复模式,也可以直接在插件列表中停用Ninja Forms插件
第二步:修复Ninja Forms插件问题
如果需要继续使用Ninja Forms,可选择以下两种方案修复:
方案1:匹配版本兼容
- 先确认当前站点的PHP版本:可在主机面板的PHP设置页,或WordPress后台的站点健康工具中查看
- 若站点PHP版本≥8.0,直接升级到Ninja Forms最新正式版即可,官方已在后续版本修复了该void返回类型兼容问题
- 若暂时无法升级插件,可临时将站点PHP版本降级到7.4,该版本对void返回类型的校验规则更宽松,不会触发该致命错误
方案2:手动修复代码(临时应急)
- 进入
ninja-forms/includes/Admin/Metaboxes/路径,打开Calculations.php文件 - 找到第37行附近的
registerReactMetabox()方法,确认方法声明格式为public function registerReactMetabox(): void - 在该方法的最后一行添加
return;即可符合void返回类型的要求,保存文件后把之前重命名的插件文件夹改回ninja-forms,重新启用插件即可正常运行
修复验证
重新启用Ninja Forms后,分别刷新站点前台、后台页面,确认无报错、表单功能正常访问即修复完成。
内容的提问来源于stack exchange,提问作者The Glam Factory
相关产品推荐
相关产品推荐

