WordPress 无法上传 WebP 图片?试试这几种开启支持的方法

34次阅读
没有评论

让 WordPress 媒体库原生支持 WebP 图片格式

在优化网站加载速度时,很多站长会选择 WebP 格式。相比传统的 PNG,WebP 的无损压缩体积能降低约 45%,在保证画质的同时显著提升页面响应速度。而且,目前主流浏览器早已全面兼容该格式。

WordPress 无法上传 WebP 图片?试试这几种开启支持的方法

然而,在实际使用 WordPress 时,你可能会发现媒体库默认并不接纳 WebP 文件。当你尝试上传时,系统往往会提示文件类型不支持,导致你不得不通过 FTP 或第三方插件来处理,流程十分繁琐。

其实无需安装沉重的插件,通过在主题的 functions.php 文件中添加几行代码,即可让 WordPress 媒体库原生支持 WebP 的上传与预览。

第一步:允许 WebP 文件上传

首先,我们需要通过 mime_types 过滤器将 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);

第二步:开启媒体库预览功能

即便文件上传成功,WordPress 的媒体库有时仍无法正确显示 WebP 的缩略图或预览图。为了解决这个问题,我们需要通过 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);

注意事项

  • 备份文件:在修改 functions.php 之前,请务必备份该文件,以免代码输入错误导致网站出现 500 错误。
  • 子主题建议:建议将代码添加在 子主题 functions.php 中,这样在升级主主题时,相关设置不会被覆盖。
  • 服务器环境:该方案依赖于服务器端安装了 GD 库或 ImageMagick 扩展,绝大多数现代虚拟主机和 VPS 均已默认安装。
正文完
 0
Administrator
版权声明:本站原创文章,由 Administrator 于2021-07-23发表,共计1009字。
转载说明:除特别说明外,本站原创内容采用 Creative Commons Attribution 4.0 (CC BY 4.0) 许可协议发布,转载请注明来源并保留原文链接。 本站部分内容基于公开资料整理,并可能经 AI 技术辅助生成或优化,仅供参考,不构成任何专业建议,请读者自行判断与核实。 本站不对第三方资源的可用性、安全性或合法性承担任何责任。
评论(没有评论)
验证码