首页 > 解决方案 > 在最新的 WooCommerce 中,我如何为单个产品图像设置硬裁剪

问题描述

在最新的 WooCommerce 中,没有选项可以在 WooCommerce 设置区域上为单个产品图像启用硬裁剪。所以我在 function.php 中编写了一个函数来启用单个图像的硬裁剪。

function ne_theme_setup() {
    add_image_size( 'single-product', 600, 600, true );
}
add_action( 'after_setup_theme', 'ne_theme_setup' );

function custom_product_large_thumbnail_size()    {
    return 'single-product';
}
add_filter('woocommerce_gallery_image_size', 'custom_product_large_thumbnail_size');

此代码正在运行,但是当我在单个产品页面上选择变量时,图像正在更改并显示未裁剪的图像版本。

我如何解决这个问题?我想为所有产品变体显示 600X600 的单张图像,并进行硬裁剪。

标签: phpwordpressimagewoocommercecrop

解决方案


最后,我为我的问题找到了解决方案。我在 function.php 中添加了以下代码。之后,我使用重新生成缩略图插件重新生成了所有图像。它为我工作!

add_filter( 'woocommerce_get_image_size_single', 'my_set_product_img_size' );
add_filter( 'woocommerce_get_image_size_shop_single', 'my_set_product_img_size' );
add_filter( 'woocommerce_get_image_size_woocommerce_single', 'my_set_product_img_size' );
function my_set_product_img_size()
{
    $size = array(
        'width'  => 600,
        'height' => 600,
        'crop'   => 1,
    );
    return $size;
}

推荐阅读