上传一张 6000×4000 的相机原图,媒体库占 8.2MB,缩略图再加 1.3MB。站点跑半年附件目录到了 61GB,主机商发来磁盘超限邮件,后台媒体库还显示正常。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

add_filter('big_image_size_threshold', fn() => 2560);
# 查看单张原图长边
identify -format '%wx%h %b\n' wp-content/uploads/2026/11/*.jpg | sort -k2 -h | tail

WordPress 默认把超过 2560 像素的长边缩到 2560 再存,这个阈值被主题里的过滤器改成了 0,等于关掉缩放。原图按原始分辨率落盘,每张多出好几兆,几个月就把配额吃满。这一点先确认清楚,后面就不用反复试。

「big_image_size_threshold 未缩放」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

具体做法是,把 big_image_size_threshold 的过滤器去掉 或者明确返回 2560;用 identify 看几张原图的长边 确认是不是真的按原始尺寸存在;对已入库的大图重新跑一遍生成 让编辑流程补上压缩。

改完照着核一遍,新上传的相机原图长边停在 2560,附件目录一周增量降到原来的三分之一。

作者 9823189