WordPress如何上传WebP格式的图片?

文章中很多时候需要配图片,WordPress默认版本中,是不支持上传WebP格式图片。因为写作的时候,图片素材来自不同地方,有些WebP格式图片必须通过一次处理转换成其他格式在上传。这样很麻烦。

怎么才能让WordPress支持WebP图片格式的上传。

我们只需要在你当前使用主题函数模板 functions.php 中 添加以下代码,就可以解决网站无法上传WebP格式图片的问题。

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

上传WebP格式图片后,文章无法所有缩略图解决方法

这是因为Wordpress在用wp_generate_attachment_metadata()这个函数生成数据时,同时也使用了file_is_displayable_image()函数来判断文件是否为图片,这里的WebP肯定是被判定为不是图片文件。

这个函数地址:wp-admin/includes/image.php

如何解决这个问题呢?

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

function webp_file_is_displayable_image($result, $path) {
    // 使用 wp_check_filetype 来确定文件类型
    $filetype = wp_check_filetype($path);
    
    // 检查文件类型是否为 'webp'
    if ('webp' == $filetype['ext']) {
        // 如果文件是 .webp,则设置为可显示
        $result = true;
    }
    
    return $result;
}
add_filter('file_is_displayable_image', 'webp_file_is_displayable_image', 10, 2);

使用以上代码可以解决这个问题。

文章使用WebP格式的图片,有时候并不完全是为了提高网站的加载速度。

按照目前的网络条件,图片是否为WebP格式或者其他的图片格式,对网站的加载影响都是极小的。

但是在大量的图片数据面前,使用WebP格式图片,可以为服务器减少三分之一的储存。同时受用于一些外部储存服务如:七牛、阿里OSS、又拍云。为了节约空间,建议使用这种图片格式。

© 版权声明
THE END
喜欢就支持一下吧!
点赞1954 分享