WordPress报错处理

趁着腾讯云疫情复工优惠换了个云服务器,一次买了三年。目前还有41G的空间,想要分摊当邻居的留言,腾讯云S2 1核 1GB 1Mbps 广州机房,域名接入要备案,我可提供备案码。环境是 PHP7.2 + MYSQL 5.6,最好是博客或正经的小展示站,以目前的访问量感觉上个三五个WordPress之类的都没啥压力。
之前一直用军哥的LNMP,感觉年纪大了命令行记不住了,突发其想在新服务器上弄了宝塔面板,体验流畅,点啥有啥,真香。

腾讯云邀请

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

PHP 升到 7.2 后,老主题很多问题都来了,PHP弃用函数、jQuery弃用函数、WordPress弃用函数,轮流报错。

评论上有个报错

警告信息:Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/****/wp-content/themes/******/comments.php on line ***)

找了一下报错代码位置,发现有以下的代码,一般wordpress的一些老主题里用来计算评论回复数会用到,后台修改主题的评论文件comments.php,找到count函数,代码如下

echo count($comments)-count($trackbacks); 

直接给值前面加个代表数组的(array),报错消失了

 echo count((array)$comments)-count((array)$trackbacks);

-----------

jQuery中的ereg_replace函数报错

错误信息:Uncaught Error: Call to undefined function ereg_replace()

原因是新版jQuery中ereg_replace弃用改成preg_replace

$jquery_click_hook = ereg_replace("[^A-Za-z0-9]", "", strtolower($value['name']));

$jquery_click_hook = preg_replace("[^A-Za-z0-9]", "", strtolower($value['name']));

--------------------

Deprecated: 自2.0.0版本起,已不建议给has_cap传入一个参数!用户级别已被废弃,请改用能力。

如果是在评论里,一般是博主认证的代码引起的。

<?php if(user_can($comment->user_id, 1)){
......
}

找到这个代码或类似的代码,将1改为 'manage_options'

<?php if(user_can($comment->user_id, 'manage_options')){
......
}

  2021-06-26 17:16 重新校对  共1466字    黄楼梦      Web  © 知识产权

  1. 美樂地 8月前 回复

    我也是腾讯云,不过VPS在香港

 

大笑 可爱 红心 微笑 眨眼 调皮 糊涂 cool wordpress 白眼 ? 大哭 邪恶 打脸 悲伤 恶魔 这 无辜