媒体库网格里的图片全是马赛克,右键查看地址是 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,加载体积没有明显增加。
