php - 在最新的 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 的单张图像,并进行硬裁剪。
解决方案
最后,我为我的问题找到了解决方案。我在 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;
}
推荐阅读
- networking - 为什么 TCP 连接终止需要 4 个步骤?
- java - 您如何摆脱先前页面中的“垃圾”元素?(appium android java selenium)
- javascript - 按图像导航
- javascript - 对象属性为空,但输入的值不是。如何正确插入值?
- node.js - 等待 http 请求完成,然后在 nodejs 中继续循环
- python - 可以这样使用 return 语句而不返回任何值吗?
- python-3.x - 在seaborn的分组箱线图中突出显示一个点
- java - Android Activity 可重用性
- javascript - 使用 Google Chart API 为堆积条形图着色
- mysql - Laravel groupby 并计算不同的值(多态)