启用Crayon Syntax Highlighter 2.8.4后网站空白,触发致命错误
解决Crayon Syntax Highlighter 2.8.4导致WordPress全站空白的问题
报错原因
该错误是插件代码尝试对数组调用id()对象方法导致的,说明这款停更多年的插件和当前WordPress版本存在兼容性冲突——新版本WP可能改变了某些函数的返回值类型,从对象变成了数组。
修复方案
方法1:紧急恢复网站访问
- 通过FTP或主机文件管理器,找到
/var/www/it/wp-content/plugins/目录 - 重命名
crayon-syntax-highlighter文件夹(比如改成crayon-syntax-highlighter-disabled),WordPress会自动禁用该插件,网站即可恢复正常
方法2:临时修改插件代码修复
如果想继续使用该插件,可针对性修改报错代码:
- 打开
/var/www/it/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php文件 - 定位到第36行,原代码大概率是类似
$id = $target->id();的写法 - 修改为判断变量类型的兼容写法:
$id = is_array($target) ? $target['id'] : $target->id();(根据实际变量名调整,核心逻辑是数组取索引、对象调用方法) - 保存文件后刷新网站验证
方法3:更换维护活跃的替代插件
由于Crayon Syntax Highlighter已多年未更新,兼容性问题会持续存在,建议更换以下插件:
- Code Syntax Block(WordPress官方团队开发,原生适配)
- Prism Syntax Highlighter
内容的提问来源于stack exchange,提问作者Jamie
相关产品推荐
相关产品推荐

