WooCommerce 产品图片尺寸未保存

Mor*_*sen 5 php wordpress woocommerce

每当我转到WooCommerce > 设置 > 产品 > 显示,更改图像尺寸并按“保存更改”时,它不会保存更改。

我知道在保存更改后我必须使用重新生成缩略图插件,但问题是“保存更改”按钮不会更改设置。

我的主题称为 Converio,converio/functions.php 包含以下代码:

if (class_exists('Woocommerce')) {
include('functions/woocommerce-support.php');
}
Run Code Online (Sandbox Code Playgroud)

converio/functions/woocommerce-support.php 包含以下代码:

function converio_woocommerce_image_dimensions() {
$catalog = array(
'width' => '560', // px
'height' => '627', // px
'crop' => 1 // true
);

$single = array(
'width' => '560', // px
'height' => '626', // px
'crop' => 1 // true
);

$thumbnail = array(
'width' => '60', // px
'height' => '60', // px
'crop' => 1 // false
);

// Image sizes
update_option('shop_catalog_image_size', $catalog); // Product category thumbs
update_option('shop_single_image_size', $single); // Single product image
update_option('shop_thumbnail_image_size', $thumbnail); // Image gallery thumbs
}
Run Code Online (Sandbox Code Playgroud)

由于我不想通过删除代码来更改父主题,因此我尝试通过在子主题中覆盖它来自行解决问题,但没有成功。

我制作了 concerio-child-theme/functions.php 并添加了以下代码:

if (class_exists('Woocommerce')) {
include('converio-child-theme/functions/woocommerce-image-dimensions-fix.php');
}
Run Code Online (Sandbox Code Playgroud)

然后,我创建了 converio-child-theme/functions/woocommerce-image-dimensions-fix.php 并添加了以下代码:

function converio_woocommerce_image_dimensions_fix() {
$catalog = array(
'width' => '560', // px
'height' => '627', // px
'crop' => 1 // true
);

$single = array(
'width' => '560', // px
'height' => '626', // px
'crop' => 1 // true
);

$thumbnail = array(
'width' => '60', // px
'height' => '60', // px
'crop' => 1 // false
);

 // Image sizes
update_option('shop_catalog_image_size', '', false);   // Product category thumbs
update_option('shop_single_image_size', '', false);   // Single product image
update_option('shop_thumbnail_image_size', '', false);  // Image gallery thumbs
}
Run Code Online (Sandbox Code Playgroud)

但它并不能解决保存更改后图像返回默认值的问题。谁能告诉我,我做错了什么?

Pur*_*iya 0

缩略图类型

  • 单个产品图片:产品详细信息页面上最大的缩略图。
  • 目录图像:产品循环中使用的中等尺寸缩略图(例如,类别、相关产品、追加销售、交叉销售等)。
  • 产品缩略图:单个产品页面、购物车和小部件上的产品库中使用的最小缩略图。

注意:这些设置位于WooCommerce > 设置 > 产品 > 显示中

输入数据并重新生成缩略图

既然我们特定主题的所有缩略图图像大小都已知,我们可以添加新的尺寸以确保未来的缩略图将是这个大小或更大。

WooCommerce > 设置 > 产品 > 显示中,确保最大图像尺寸至少与主题为这些缩略图呈现的尺寸一样大。然后保存更改。

现在,上传的任何新产品图像都将在这些设置中包含缩略图,并且显示时应不失真或模糊。

注意:保存更改不会自动更新所有先前上传的产品图像。要更新旧图像,WordPress 需要重新生成缩略图。一个很棒的插件就是 Regenerate Thumbnails