目录页 24 张卡片,Network 面板显示图片总共 18.4MB,单张 2.1MB,手机流量用户首屏等了 9 秒才出完。乍看像缓存或者权限的锅,追下去往往不是。

the_post_thumbnail('catalog', array('sizes' => '(max-width: 768px) 50vw, 25vw'));
// 先执行 wp media regenerate --only-missing

追下去是这么回事:模板里用了 the_post_thumbnail('full'),把上传原图直接塞进列表。主题注册的 400x400 尺寸没被调用,srcset 也没输出。

碰到「目录输出原图」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。

监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

具体做法是,列表改用 medium 或自定义的 catalog 尺寸;把 srcset 和 sizes 打开,让浏览器按屏幕宽度选图;重新生成缩略图,老图不会自动补新尺寸。

验收就看一点,目录页图片总量降到 1.5MB 以内,单张不超过 120KB,肉眼看不出差别。

作者 9823189