如何在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
相关产品推荐
相关产品推荐

