媒体库网格里的图片全是马赛克,右键查看地址是 150×150 的裁切图,点开附件详情,原图 1200×800 正常。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

echo wp_get_attachment_image($id, 'medium', false, ['class' => 'media-thumb']);
// 重新生成
wp media regenerate --yes

列表用的是 thumbnail 尺寸,CSS 又把它放大到 200px,wp_get_attachment_image 的 srcset 默认挑最小候选。缩略图尺寸注册得早,后续改的设置没有重新生成。这一点先确认清楚,后面就不用反复试。

「媒体库缩略图尺寸」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

具体做法是,把列表图片换成 medium 尺寸;确认 srcset 里包含 300 和 768 两档;用 regenerate thumbnails 重生成缺失尺寸。

改完照着核一遍,网格图片变清晰,查看地址是 300×200,加载体积没有明显增加。

作者 9823189