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

如何在WooCommerce 3.0版本前为特定商品分类设置自定义单品图片尺寸

如何为WooCommerce特定商品分类设置自定义单品图片尺寸(适用于3.0版本前)

嘿,我之前在WooCommerce 2.x版本里刚好处理过一模一样的需求,给你整理个亲测有效的方案,照着来就行!

步骤1:注册新的商品图片尺寸

首先,我们需要在主题的functions.php文件里注册一个600x600的新图片尺寸,代码如下:

// 注册600x600的商品图片尺寸
add_action( 'after_setup_theme', 'custom_woocommerce_image_sizes' );
function custom_woocommerce_image_sizes() {
    add_image_size( 'single-product-600x600', 600, 600, true ); // 最后一个true表示强制裁剪
}

这里的true参数是强制让图片按照600x600的比例裁剪,如果你想要保持原图比例只缩放不裁剪,可以改成false。

步骤2:添加钩子判断分类并替换图片尺寸

接下来,我们要通过WooCommerce的woocommerce_get_image_size_single钩子,判断当前商品是否属于目标分类,如果是就用我们刚注册的新尺寸,否则沿用默认的300x300。代码如下:

// 针对特定分类替换单品图片尺寸
add_filter( 'woocommerce_get_image_size_single', 'custom_category_single_image_size' );
function custom_category_single_image_size( $size ) {
    // 获取当前商品对象
    global $product;
    
    // 替换成你目标分类的slug(比如你的分类叫"高端数码",slug可能是"high-end-digital")
    $target_category = 'your-target-category';
    
    // 判断当前商品是否属于目标分类
    if ( $product && has_term( $target_category, 'product_cat', $product->get_id() ) ) {
        // 替换为我们注册的600x600尺寸
        $size['width'] = 600;
        $size['height'] = 600;
        $size['crop'] = true;
    }
    
    return $size;
}

注意一定要把$target_category的值换成你实际需要修改的商品分类的slug,你可以在WooCommerce的商品分类管理页面找到这个slug。

重要提醒:重新生成缩略图

如果你已经给目标分类的商品上传过图片了,这些图片不会自动生成600x600的版本,你需要安装Regenerate Thumbnails插件,运行一次图片重新生成,这样新的尺寸才会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:12:23