WordPress解决webp图片格式上传问题

WordPress如何允许svg和webp图像格式上传?

新版本的WordPress默认支持svg和webp格式图片上传(不需要添加任何插件或者修改代码)。

旧版本的WordPress设置允许svg和webp图像格式不添加插件方法

主题的functions.php里添加以下代码:

add_filter( 'upload_mimes', 'my_upload_mimes' );
function my_upload_mimes( $mime_types ) {
$mime_types['svg'] = 'image/svg+xml';
$mime_types['webp'] = 'image/webp';
return $mime_types;
}

添加上面代码之后允许上传WebP格式的图片,但在媒体列表中不显示缩略图。(WordPress在用 wp_generate_attachment_metadata()函数生成图片数据时,使用了file_is_displayable_image()函数判断文件是否为图片,判断WebP图片的结果为否导致不显示缩略图),显示缩略图那么需要添加以下代码:


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

0
分享到: