设计师给的 4000px 长图上传后媒体库里只剩 2560px,放大看细节全没了,本地那份原始文件也没留下来,想换回去都找不到。乍看像缓存或者权限的锅,追下去往往不是。
add_filter('big_image_size_threshold', '__return_false');
# 或者放宽到 4000
add_filter('big_image_size_threshold', fn() => 4000);
追下去是这么回事:新版本默认开启大图阈值,超过两千五百六十像素的图会被缩放成新文件替换,原始上传件直接丢掉不保留,阈值不关就永远拿不回原图。
「大图自动缩放」这类改动最怕改一半,回滚脚本先准备好,再动生产。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。
具体做法是,先看附件元数据里记录的原始宽度 判断有没有被缩;用过滤器把阈值关掉 或者按实际需要调大一点;重新上传原图并核对媒体库里文件的真实尺寸。
验收就看一点,媒体库里的文件尺寸与本地原图完全一致,放大查看也不会发虚。
