网站图片优化有一项工作是压缩图片体积,更小的图片体积可以带来更快的加载速度和更少的流量消耗。
目前网站上主流的图片格式 JPG 和 PNG,今天介绍另外一种图片格式:WebP。WebP 是一种由 Google 开发的现代图像格式。它旨在不牺牲质量的情况下减小了图像的大小。与 PNG 和 JPEG 相比,图像格式能够将文件大小减少多达 26% – 34%。目前除了较旧的 Safari 浏览器不兼容外,94% 的浏览器都支持 WebP 图像格式,对用户基本没有影响。
我们可以具体去了解 WebP 目前所支持兼容的浏览器,主流的大部分的浏览器都能兼容:


如果我们要在 WordPress 网站上使用 WebP,会发现 WordPress 不支持上传这种图片格式,在媒体库上传会显示:

web 服务器无法处理该图片,请在上传前将其转换为 JPEG 或 PNG 格式。

如下图所示:


接下来,我们就介绍几种解决 WebP 图片无法上传的方法:

方法一:让 WordPress 忽略对环境的检测

进入 WordPress 后台,在外观——主题编辑器选项中,选择所用的主题,

在 functions.php 底部添加如上代码;


//取消 WordPress 环境检查 webpadd_filter('plupload_default_settings', function($defaults) { $defaults['webp_upload_error'] = false; return $defaults;}, 10, 1);
add_filter('plupload_init', function($plupload_init) { $plupload_init['webp_upload_error'] = false; return $plupload_init;}, 10, 1);

方法二:解除所有用户的上传文件格式限制

在网站根目录,找到 wp-config.php 文件打开,在末尾添加如下代码:


//开放所有格式文件上传define('ALLOW_UNFILTERED_UPLOADS'true);

注:出于安全考虑,网站维护完毕后,建议将这行代码删除

方法三解除管理员的上传文件格式限制

在主题目录下的 functions.php 文件内添加如下代码:

// 解除管理员的上传文件格式限制add_filter('map_meta_cap', 'wpwebp_upload_cap', 10, 3);function wpwebp_upload_cap($caps, $cap, $user_id) {    if ($cap == 'unfiltered_upload' && is_super_admin($user_id)) {        $caps = array($cap);    }    return $caps;}


方法四:通过 mime type 类型开启 WebP 格式上传限制

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

//通过mime type 类型开启WebP格式上传限制function wpwebp_filter_mime_types( $array ) {$array[‘webp’] = ‘image/webp’;return $array;}add_filter( ‘mime_types’, ‘wpwebp_filter_mime_types’, 10, 1 );


这时已经可以上传 WebP 格式的图片了,但在媒体列表中看不到缩略图,
解决办法是在主题的 functions.php 里添加以下代码:

//解决媒体列表中看不到缩略图问题function wpwebp_file_is_displayable_image($result, $path) {$info = @getimagesize( $path );if($info[‘mime’] == ‘image/webp’) {$result = true;}return $result;}add_filter( ‘file_is_displayable_image’, ‘wpwebp_file_is_displayable_image’, 10, 2 );

怎么样,方法挺简单,都学会了吗?

觉得内容还不错的话,给我点个“赞“和“在看”呗



点赞(13) 打赏

评论列表 共有 0 条评论

暂无评论

服务号

订阅号

备注【拉群】

商务洽谈

微信联系站长

发表
评论
立即
投稿
返回
顶部