如何解决WordPress中in_array()参数警告问题
in_array()警告问题 这个警告的核心原因很明确:Jetpack插件在class.jetpack.php的1518行调用in_array()时,第二个参数本该是一个数组,但实际拿到了null,通常是插件的某个配置项没有正确初始化或者加载失败导致的。下面是几个按优先级排序的解决步骤,你可以逐一尝试:
刷新Jetpack与WordPress.com的连接:Jetpack的很多配置依赖和官方平台的连接状态,偶尔连接异常会导致配置数组加载失败。进入WordPress后台的「Jetpack」设置页面,找到连接选项,先断开连接,等待几秒后重新完成连接流程,之后刷新网站看看警告是否消失。
禁用并重新启用Jetpack插件:临时的初始化缓存或者运行环境异常也可能引发这个问题。去后台的「插件」->「已安装插件」页面,找到Jetpack,点击「禁用」,稍等片刻后再点击「启用」,让插件重新初始化所有配置。
检查Jetpack的配置选项:如果懂一些基础的数据库操作,可以登录你的数据库管理工具(比如phpMyAdmin),找到
wp_options表(前缀可能不是wp_,根据你的站点配置调整),搜索jetpack_options这个选项。正常情况下它的值应该是序列化后的数组,如果显示为null或者空字符串,你可以手动将其更新为a:0:{}(这是空数组的序列化格式)。更新Jetpack到最新版本:这个警告可能是旧版本Jetpack的已知bug,官方在后续版本中已经修复。进入后台插件页面,检查Jetpack是否有可用更新,直接升级到最新版,这类小兼容性问题通常都会被解决。
临时屏蔽警告(应急方案,不推荐):如果上面的方法都没能解决,而你只是想暂时隐藏这个警告,可以修改站点根目录的
wp-config.php文件:- 将
define('WP_DEBUG', true);改为define('WP_DEBUG', false);; - 或者添加一行
error_reporting(E_ALL & ~E_WARNING);来屏蔽警告级别的错误。
注意:这只是隐藏问题,不是真正解决,建议优先尝试前面的方法。
- 将
内容的提问来源于stack exchange,提问作者Hasan Suyat

