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)
但它并不能解决保存更改后图像返回默认值的问题。谁能告诉我,我做错了什么?
注意:这些设置位于WooCommerce > 设置 > 产品 > 显示中
既然我们特定主题的所有缩略图图像大小都已知,我们可以添加新的尺寸以确保未来的缩略图将是这个大小或更大。
在WooCommerce > 设置 > 产品 > 显示中,确保最大图像尺寸至少与主题为这些缩略图呈现的尺寸一样大。然后保存更改。
现在,上传的任何新产品图像都将在这些设置中包含缩略图,并且显示时应不失真或模糊。
注意:保存更改不会自动更新所有先前上传的产品图像。要更新旧图像,WordPress 需要重新生成缩略图。一个很棒的插件就是 Regenerate Thumbnails。