You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制WooCommerce在前端提供medium/large尺寸图片而非full

强制WooCommerce前端使用指定尺寸图片而非原图

方法1:通过后台设置调整默认尺寸

  • 登录WordPress后台,依次进入「WooCommerce」→「设置」→「产品」→「显示」
  • 在「产品图片」板块,将「主产品图片」「产品缩略图」「产品图库缩略图」的尺寸设置为medium或large
  • 保存设置后,新上传的图片会自动按选定尺寸生成并在前端展示;已上传的旧图片需使用「Regenerate Thumbnails」工具重新生成对应尺寸的缩略图

方法2:用代码钩子强制替换原图调用

如果后台设置无法覆盖所有场景(比如自定义模板或插件仍调用原图),可将以下代码添加到主题的functions.php文件或自定义代码插件中:

// 替换产品主图为medium尺寸
add_filter('woocommerce_single_product_image_thumbnail_html', 'force_medium_product_main_image', 10, 2);
function force_medium_product_main_image($html, $post_id) {
    $medium_img_url = wp_get_attachment_image_url($post_id, 'medium');
    if ($medium_img_url) {
        $html = str_replace(wp_get_attachment_image_url($post_id, 'full'), $medium_img_url, $html);
    }
    return $html;
}

// 替换商店页产品缩略图为large尺寸
add_filter('woocommerce_product_get_image', 'force_large_shop_thumbnail', 10, 3);
function force_large_shop_thumbnail($image, $product_id, $size) {
    if ($size === 'shop_catalog') {
        $image = wp_get_attachment_image(get_post_thumbnail_id($product_id), 'large');
    }
    return $image;
}

注意:修改主题文件前请做好备份,推荐使用子主题存放自定义代码,避免主题更新时代码丢失

方法3:针对产品图库的强制替换

如果产品图片库仍在调用原图,可添加以下代码:

add_filter('woocommerce_single_product_image_thumbnail_html', 'force_medium_gallery_images', 10, 2);
function force_medium_gallery_images($html, $post_id) {
    $medium_img = wp_get_attachment_image($post_id, 'medium');
    if ($medium_img) {
        $html = $medium_img;
    }
    return $html;
}

内容的提问来源于stack exchange,提问作者Cavefish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:25:14