很久之前就发现WordPress上传jianshu或者微信图片不行,提示webp格式不支持。如今又发现今日头条保存下来的图片出现一样的问题,虽然表面看是jpg格式,但实际下载为webp格式。一介小民找到了解决方法: 步骤打开 wordpress目录下的wp-includes/functions.php 搜索'image/gif',在下一行加入 'image/webp' => 'webp', 再次搜索gif,会出现第二第三个gif词,同理加入webp就行了。这样你的WordPress就支持微信图片、今日头条图片的上传到媒体了。
默认情况下,WordPress不支持上传WebP格式的图片,在主题的functions.php里添加以下代码即可:
虽然现在已经可以上传WebP格式的图片了,但在媒体列表中看不到缩略图,这是因为WordPress在用wp_generate_attachment_metadata()函数生成图片数据时,使用了file_is_displayable_image()函数判断文件是否为图片,判断WebP图片的结果为否,因此中断了保存图片数据的操作。 解决办法是在主题的functions.php里添加以下代码:
在这之后上传WebP格式图片不会再有问题了,但之前已经上传的其他格式的图片要替换为WebP格式还是比较麻烦,分享一下我的解决过程:
由于我在处理时没有保存相应的脚本和正则表达式,所以你只有自己动手丰衣足食了。 关于webp 由于目前互联网上传输的数据有65%都是图片,WebP就是出于减少数据量、加速网络传输的目的而开发的。为了改善JPEG的图片压缩技术,他们使用了一种基于VP8编码(已在2010五月开源)的图片压缩器,利用预测编码技术,同时还采用了一种基于RIFF的非常轻量级的容器。这种容器只会给每张图片增加20字节,但能让图片作者保存他们想要存储的元数据。 与JPEG相同,WebP是一种有损压缩利用预测编码技术。但谷歌表示,这种格式的主要优势在于高效率。他们发现,“在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%。 美中不足的是,WebP格式图像的编码时间“比JPEG格式图像长8倍”。 |
|