WordPress媒体库轻松支持WebP图片上传指南

WebP格式图片体积小、质量高,但WordPress默认不支持上传。本文提供两段代码,简单修改functions.php即可让媒体库支持WebP上传与预览。

💡 快速判断通过修改functions.php添加两段代码,即可让WordPress媒体库支持WebP上传和预览,操作简单但需手动改代码。适合熟悉主题文件修改的站长,不适合新手或怕出错者。

为什么需要让WordPress支持WebP图片

WebP是一种现代图片格式,由Google推出,具有出色的压缩效率。根据Google早期的测试,与PNG相比,WebP的无损压缩能减少约45%的文件体积,这对于提升网站加载速度、节省存储空间都有显著帮助。

截至2020年,主流浏览器均已支持WebP格式,但WordPress的媒体库却默认不支持上传该格式,这给使用WebP图片的站长带来了不便。

解决方案:两段代码轻松搞定

经过多方查找,我们找到了一种代码级的解决办法,只需修改主题的functions.php文件,即可让WordPress媒体库支持WebP图片的上传和预览。

第一步:添加MIME类型支持

首先,为WordPress媒体库添加WebP文件的MIME类型识别。将以下代码添加到主题的functions.php文件中:

function webp_filter_mime_types( $array ) {
    $array['webp'] = 'image/webp';
    return $array;
}
add_filter( 'mime_types', 'webp_filter_mime_types', 10, 1 );

这段代码通过mime_types过滤器,将webp扩展名与image/webp MIME类型关联起来,使WordPress能够识别并允许上传WebP文件。

第二步:启用预览功能

其次,让WordPress媒体库能够显示WebP图片的预览。继续在functions.php文件中添加以下代码:

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 );

该代码通过file_is_displayable_image过滤器,检查文件是否为WebP格式,若是则返回true,从而允许WordPress在媒体库中生成预览图。

完成以上两步后,WordPress媒体库就能正常上传和预览WebP图片了。

⚡ 每日一荐,先人一步 电报频道「效率工具情报」每天 11:00 推送精选工具 + 编辑点评,还有网站没有的彩蛋内容。 👉 订阅频道:t.me/toolintel