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

WooCommerce 3.3X版本产品图片裁剪问题:如何显示原图尺寸

解决WooCommerce 3.3.x显示产品原图的问题

嘿,我来帮你搞定这个问题!你用的是WooCommerce 3.3.x版本,主题里设置的图片尺寸都是带强制裁剪的(那些add_image_size最后面的true参数就是开启裁剪的关键),所以现在站点各处的产品图都是裁剪后的版本。要实现显示原图尺寸的效果,你可以试试下面两种方案:

方案一:修改主题的图片尺寸设置

直接找到主题里你提到的那段代码,把每个add_image_size的最后一个参数从true改成false——这个参数控制是否裁剪图片,改成false后就只会按设定的尺寸缩放(不会裁剪),如果留空宽高的话就会显示原图:

$shop_single_image_size_default = array(555, 710); # Other Image Sizes
add_image_size('shop-thumb-2', 70, 90, false); // 关闭裁剪,仅缩放
add_image_size('shop-category-thumb', 320, 256, false); // 同样关闭裁剪

如果想要完全显示原图,也可以把宽高参数留空:

add_image_size('shop-thumb-2', '', '', false); // 完全显示原图尺寸
add_image_size('shop-category-thumb', '', '', false);

⚠️ 注意:修改完代码后,你需要重新生成所有产品图片的缩略图,否则之前已经裁剪过的图片不会自动变回原图。可以用WordPress的「Regenerate Thumbnails」插件来批量处理。

方案二:用钩子覆盖WooCommerce的图片设置(推荐,避免主题更新覆盖)

如果你担心主题更新会把修改的代码覆盖掉,更稳妥的方式是在子主题的functions.php里添加钩子,直接覆盖WooCommerce的图片尺寸规则:

// 覆盖产品单页图片为原图
add_filter('woocommerce_get_image_size_shop_single', function($size) {
    return array(
        'width' => '',  // 留空表示不限制宽度
        'height' => '', // 留空表示不限制高度
        'crop' => false // 关闭裁剪
    );
});

// 覆盖产品分类页图片为原图
add_filter('woocommerce_get_image_size_shop_catalog', function($size) {
    return array(
        'width' => '',
        'height' => '',
        'crop' => false
    );
});

// 覆盖产品缩略图为原图
add_filter('woocommerce_get_image_size_shop_thumbnail', function($size) {
    return array(
        'width' => '',
        'height' => '',
        'crop' => false
    );
});

这段代码会强制WooCommerce在所有场景下都使用原图尺寸输出,完全忽略主题设置的裁剪规则。同样,修改后记得重新生成缩略图哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:13:10