如何解决 WordPress 5.8+ 无法上传 webp 图片的问题

WebP是一种由谷歌开发的图像格式,旨在取代在网络上普遍使用的GIF、JPG、PNG格式。 WebP最大的优势在于,在图像质量相同的情况下,WebP文件大小比其他格式要小得多。 举例来说,WebP文件大小比相同内容的JPG文件小25-34%,比PNG文件小26%(采用有损压缩可达60-70%)。尤其以动画图像为例,将GIF文件转换为WebP文件,可以在保留图像质量的同时,将文件大小缩小近一半。

包括Google Chrome、Microsoft Edge、Apple Safari在内的大多数网页浏览器上,都可以看到WebP格式图像,未来WebP会变得越来越普遍。

有些小伙伴在使用wordpress时发现,无法上传webp图片。Wordpress 5.8 +版本更新其实已经支持上传 webp 格式的图片了,但实际情况下可能仍然会遇到在 WordPress 后台媒体库上传 webp 图片时报错,无法上传的问题。
如何解决 WordPress 5.8+ 无法上传 webp 图片的问题插图

根据错误提示基本可以明确问题是出在服务器上,缺少了对 webp 图像的支持。

方法1:通过FTP上传 webP 格式图片

这是最简单易于操作的方法,如果网站后台没法上传这种特殊格式,那么,可以通过网站FTP上传到指定目录,然后在网站上进行使用。

方法2:修改 webP 格式图片的扩展名

把要上传的 webP 格式的图片扩展名,直接在本地修改为服务器支持的 .jpg 或 .png 格式后,再在网站后台上传使用。
你可以使用下面的在线服务:https://convertio.co/zh/image-converter/

方法3:扩展程序

安装并开启 PHP 扩展 ImageMagick

方法4:忽略服务器对环境的检测

该方法需要添加一段代码到当前使用的网站模板的 functions.php 文件中,目的是取消系统对网站服务器(主机)的 webP 格式环境检查,从而实现 webP 格式图片文件的上传操作。

把一些代码添加到网站模板的 functions.php 文件:

//取消 webP 格式环境检查
add_filter('plupload_default_settings', function($defaults) {
    $defaults['webp_upload_error'] = false;
    return $defaults;
}, 10, 1);

add_filter('plupload_init', function($plupload_init) {
    $plupload_init['webp_upload_error'] = false;
    return $plupload_init;
}, 10, 1);

标签

发表评论