WordPress支持WebP格式图片上传方法

在浏览器支持方面,现在主流的浏览器也都支持WebP格式,况且像微信公众号这样的大平台早已开始使用WebP图片,因此没有理由不将博客的插图换成WebP了。默认情况下,WordPress不支持上传WebP格式的图片,在主题或者wordpress的functions.php里添加以下代码即可:

/* 以下代码是允许媒体库上传 webp 格式图片;*/ 
function bzg_filter_mime_types( $array ) { 
   $array['webp'] = 'image/webp'; 
   return $array; 
} 
add_filter( 'mime_types', 'bzg_filter_mime_types', 10, 1 ); 
/* 以下代码是允许媒体库生成 webp 格式的缩略图 */ 

function bzg_file_is_displayable_image($result, $path) { 
   $info = @getimagesize( $path ); 
   if($info['mime'] == 'image/webp') { 
      $result = true; } 
      return $result; } 
   add_filter( 'file_is_displayable_image', 'bzg_file_is_displayable_image', 10, 2 );

这里需要说明的是,上述代码在网络上很多,但是经过本人测试,PHP5.X版本下是无法在媒体库生成 webp 文件的缩略图,因为getimagesize()函数无法返回正确的数组,原因不详,但是升级到PHP7.1以上的版本就会解决这个问题。

0
显示验证码