解决WordPress后台"Warning: count(): Parameter must be an array"

这个问题是昨天晚上遇到的,网友提到自己的WordPress打开之后看到后台有一个提示"Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/www.***.com/wp-admin/includes/template.php on line 1425",暂时也没看到功能有什么问题,但是有这个提示肯定是不好的。

解决WordPress后台"Warning: count(): Parameter must be an array"

然后老蒋去查阅相关的问题,大部分提到的是因为PHP7.2之后可能出现的问题,他安装的是PHP7.3,我开始让他降低到PHP7.2,还是有问题,然后让他降低到PHP7.1,问题解决,看来确实是PHP的问题。

但是,这个也不能说我们必须要降低PHP版本这个肯定不是解决的最佳方法,当然在没有找到合适的替代方案之前,我们可以先用上面的办法。

然后老蒋可以查阅到WP官方(https://core.trac.wordpress.org/ticket/43368)有提到的解决办法。

在:

/wp-includes/post-template.php 

中的:

if ( $page > count( $pages ) )
     $page = count( $pages );

修改成:

if ( $page > count( $pages ? : [] ) )
     $page = count( $pages ? : [] );

具体我们修改文件的时候要注意备份,但是修改核心文件不是最好的办法,以后官方等待升级包兼容。

本文出处:老蒋部落 » 解决WordPress后台"Warning: count(): Parameter must be an array" | 欢迎分享( 公众号:老蒋玩运营 )