[WordPress]WordPress 到底会不会压缩上传的图片?(结果:原图不会)

不知道大家有没有看到过别人写的 WordPress 默认会压缩上传的 jpg 格式图片的文章,我搜了下确实是有博主在说,还给出个代码来让WordPress不压缩图片的,如下:

add_filter('jpeg_quality', function($arg){return 100;});

但也有博主说根本就不会压缩,究竟如何,还是让我来做个测试看看吧!

首先咱们来准备图,因电脑重装了所以手边只有几张图了,我就随便找两张吧:

jiYUK
005

注:一张 Miku 一张穹妹的,可惜不知道具体的画师等信息。

上面的两张图的原图我用校验工具得到的信息如下:

54

现在我先把文章发布出去,然后再下载文章内的图,得到的信息为:

645

相信大家从上面这两张图里看出来了吧?上传后的图片再下载下来,和原图根本就没有区别,不存在什么压缩了的问题,那代码简直莫名其妙嘛!如果大家不信,可以到自己的博客去试试。

多年后诈尸更新一下!

事实上,WordPress 并不会对上传图片的原图进行处理,真正会有压缩的地方是在生成裁剪尺寸图片的时候(也就是设置“媒体”里那些用于缩略图特色图片之类的裁剪尺寸图片),而不是上传原图的时候。

从博主掌握的信息来说,常见格式的裁剪尺寸图片是否会被压缩总结如下:

  1. JPG JPEG 家族的会被压缩
  2. PNG 不会被压缩
  3. GIF 不会被压缩
  4. WebP 会被压缩
  5. AVIF 会被压缩

如果你真的需要对裁剪尺寸生成的图片进行自定义压缩比,可以用下面的代码:

// 自定义图像压缩质量
function custom_image_quality($image_quality, $mime_type) {
    // 根据 MIME 类型设置压缩质量
    switch ($mime_type) {
        case 'image/webp':
            return 100; // 自定义的 WebP 压缩质量
        case 'image/jpeg':
            return 100; // 自定义的 JPEG 压缩质量
        // 可以根据需要按照上面的写法继续添加更多格式
        case 'image/avif':
            return 100; // 自定义的 AVIF 压缩质量
        default:
            return $image_quality; // 对其他格式保持默认质量
    }
}
add_filter('wp_editor_set_quality', 'custom_image_quality', 10, 2);

那么最后这个代码和文章最开始写的代码有什么区别呢?

最后的代码修改的是 wp_editor_set_quality 这个过滤器,而文章开头代码修改的是 jpeg_quality,从名字就可以看出来 jpeg_quality 只适合设置 JPEG 格式图片的压缩比,而 wp_editor_set_quality 适用于所有 WordPress 支持的图片格式,且优先级高于 jpeg_quality。

文章标题:[WordPress]WordPress 到底会不会压缩上传的图片?(结果:原图不会)
本文作者:希卡米
链接:https://hikami.moe/dev/567.html

如非文内特别说明,博客内作品均默认采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
知识共享许可协议
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇