1. 个人知识库首页
  2. 记录历程
  3. 前端开发

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

视多爱护眼仪提醒您,本文共计680个文字,预计阅读时长需要2分钟,请调低您使用的屏幕亮度,保护眼睛健康。

在浏览器支持方面,现在主流的浏览器也都支持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 );

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

本文章由 brokenway 发布在 个人知识库 ,文章所述不代表本站观点,法律风险由发布者自行承担,转载请注明出处!