竖构图的封面图生成列表缩略图后只剩半张脸,编辑只能把原图手动重新裁一遍再传上去,每篇文章都要来一次。乍看像缓存或者权限的锅,追下去往往不是。
add_image_size('card', 480, 320, ['center', 'top']);
# 模板输出
the_post_thumbnail('card');
追下去是这么回事:硬裁剪固定按中心点取区域,主体偏上的构图直接被切掉,注册尺寸的时候只写了宽高没有指定裁切位置,缩略图看着就像裁坏了。
「缩略图裁剪位置」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
具体做法是,在注册尺寸时把裁切位置写成数组 别只给宽高;主体偏上的取上部 主体偏下的取底部 按构图来选;前端显示的焦点位置要和裁切时的方向保持一致。
验收就看一点,各个尺寸的缩略图里人物都完整,头部再也没有被裁切掉一点。
