全网率先突破,用”魔法”解决了wordpress6.0小工具报错历史难题。
七娃博客360人阅读
还记得前几天发布了一篇《wordpress升级6.0版本后,小工具报错:区块受错误影响,可能无法正常运行。请检查开发者工具以了解更多详情》的解决办法,当时从网上得到了两种方法:1.降级版本,2.降级小工具。今天升级6.0,尝试着用”魔法“解决这个问题。谁叫咱是程序员,不是搬运工呢。
出现这个bug,肯定有函数或插件导致了,首先需要排除问题,找到问题所在,我先停用了所有插件,发现还有这个问题,所以是主题的原因。主题是QUI-Pure自己开发的,那只能自己一步步分析了。
既然是小工具报错,就全局搜索小工具的代码,发现了register_sidebar_widget这个代码,注册小工具的,然后百度之后发现这个函数已经被废弃,然后wp的wp-config.php函数里面打开了log调试:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
以下就是剖析这个问题的过程。
主题错误写法
register_sidebar_widget('点赞排行','mb_zandom');
报错:“%e7%82%b9%e8%b5%9e%e6%8e%92%e8%a1%8c”区块受错误影响,可能无法正常运行。请检查开发者工具以了解更多详情。
打开F12 开发者工具发现提示:“code: "invalid_json" message: "此响应不是合法的JSON响应。
原因:register_sidebar_widget函数已经被wp废弃不再使用了,需要用wp_register_sidebar_widget方法替换。
破局之法
这时,七娃直接复制替换,采用了如下的傻瓜式替换,就又掉坑里了。
wp_register_sidebar_widget('点赞排行','mb_zandom');
报错:: Missing argument 3 for wp_register_sidebar_widget(), called in /www/wwwroot/wordpress/wp-content/themes/qui_pure2.67/inc/h2h-fun.php on line 432 and defined in
最后去官方函数库搜了一下用法:https://developer.wordpress.org/reference/functions/wp_register_sidebar_widget/
修改后方法:
wp_register_sidebar_widget( 'wp-zandom', // wpdocs unique widget id '点赞排行', // widget name 'mb_zandom', // callback function array( // options 'description' => '点赞排行小工具' ) );
最后果真解决了这个wp版本升级之后废除函数的难题,看来那句话:”只有魔法才能打败魔法“,”解铃还须系铃人“,最后还是需要官方的函数解决这个问题。以上就是解决wordpress升级到6.0版本之后小工具报错的解决办法。我是陈小知,也是七娃,是一个热爱开发-热爱折腾的前端开发者,很喜欢交朋友。嘿嘿,告辞!
评论 | 0 条评论
登录之后才可留言,前往登录