商品链接发到微信,卡片缩略图是页头那个两百像素的 logo,商品主图完全没出现,点击率比平时低一截。换一个商品还是一样。乍看像缓存或者权限的锅,追下去往往不是。
add_action('wp_head', function () {
if (! is_product()) return;
$img = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large')[0];
echo '<meta property="og:image" content="' . esc_url($img) . '">';
}, 5);
追下去是这么回事:页面里输出了两条 og:image,主题先写 logo,插件又追加一张,抓取方取第一条。主图没写绝对地址,部分平台直接忽略。
碰到「og:image 抓错」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。
具体做法是,确保商品页只输出一条 og:image,内容用主图的绝对地址;图片尺寸至少 300×200,比例接近 1.91:1;用平台的调试工具重新抓一次,确认旧缓存已经刷新。
验收就看一点,把链接发到聊天窗口,卡片缩略图变成商品主图,尺寸和比例都正常。
