学习

WordPress升级到最新版5.5.3缩略图不显示

2020年12月1日

今天看到中文版的WordPress已经可以升级到5.5.3版本了,中间有两个小版本没有升级,一是因为中文站经常打不开,容易出错,后台无法直接在升级,需要要重新下载安装包。二是因为有点懒,不经常查看WordPress最新信息。

今天正好看到,就把所有的站点都升级到最新版的WordPress 5.5.3了,但是升级完之后有个问题,升级完成如果主题没有更新到最新版或者支持5.5.3版本的话,网站的缩略图会不显示,尤其是幻灯片。

不过好在我不是第一个遇到这个网站的,技术大神已经找到缩略图不显示的原因,

WordPress 5.5 给 the_content 接口新增了 wp_filter_content_tags 函数,它主要做三件事情:

根据图片的 ID 给没有 width 和 height 的图片标签加上这两个属性。

根据图片的 ID 给图片标签加上 srcset 属性。

给图片标签加上 loading="lazy" 属性。

其中第三点就是实现图片懒加载的,具体执行的函数是 wp_img_tag_add_loading_attr,它把前面获取的图片标签,一个个判断一下有没有 width 和 height 属性,如果有的话,就加上 loading="lazy" 属性。

知道了什么原因在处理就简单了。

第一、升级WordPress主题,升级到最新版,如果你用的主题还有更新的话。

第二、添加禁止代码即可。

在主题的functions.php中添加以下代码:

add_filter( 'wp_lazy_loading_enabled', '__return_false' );

然后在返回查看刷新一下网站缩略图即可显示了。当然,在修改之前一定要备份主题,如果升级主题,也请注意最新主题是否支持WordPress 5.5版本。