纯代码实现 WordPress 支持 WebP 格式图片上传

创客云

WordPress默认设定环境下,是不支持webp格式图片上传和预览的,据说是为了安全着想。webp图片格式是google推出的一种相比于jpg更小体积的一种图片格式,现在Chrome浏览器、火狐浏览器,都已经权限支持。在去年年底的时候就连edge浏览器都已经更换成Chrome浏览器的内核。换句话来说,未来!webp图片格式将会成为所有浏览器都支持的一种小体积的图片格式。

webp图片格式拥有相比png更小的体积,偶在视觉感知上,在不影响视觉表现的前提下,相比jpg格式要小85%的体积,相比png无损压缩格式小几倍的体积。截止到今天为止,苹果的浏览器也都已经支持webp格式的图片。

回到初始的话题,WordPress如何支持上传webp格式的图片,以及如何在媒体中心预览webp格式的缩略图呢?

WordPress 默认不支持WebP格式图片上传,将下面代码添加到当前主题函数模板functions.php中,即可解决上传问题。

  1.     //开启WordPress上传webp格式图片上传
  2.     function mimvp_filter_mime_types( $array ) {
  3.         $array['webp'] = 'image/webp';
  4.         return $array; 
  5.     }
  6.     add_filter( 'mime_types', 'mimvp_filter_mime_types', 10, 1 );
  7.  
  8.     //开启WordPress预览webp缩略图预览
  9.     function mimvp_file_is_displayable_image($result, $path) {
  10.         $info = @getimagesize( $path );
  11.         if($info['mime'] == 'image/webp') {
  12.             $result = true;
  13.         }
  14.         return $result;
  15.     }
  16.     add_filter( 'file_is_displayable_image', 'mimvp_file_is_displayable_image', 10, 2 );

WordPress是一种支持动图和透明图的格式,相比jpg格式,webp既能够支持动态图片,也能够支持透明图,可以理解成是png、gif、jpg、三种格式的几何体,拥有三家的大多数长处的一种有损图片压缩格式。好了今天的文章分享到此结束了,希望可以帮到你。

本文由 CityMall 整理发布如需转载,请注明出处:https://www.22vd.com/60257.html
云模板

发表评论