在 Woocommerce 中批量删除产品变体图片
Bulk remove product variation images in Woocommerce
在 Woocommerce 中(在我的例子中是 3.5.1),是否可以删除所有特定于变体的图像,以便当用户在产品页面中选择变体时图像不会改变?
我想要这个
而不是那个
在整个站点中。
您可以批量删除所有产品变体图像,例如使用 phpMyAdmin 进行直接 SQL 查询 (备份数据库之前):
UPDATE wp_postmeta as pm
JOIN wp_posts AS p ON pm.post_id = p.ID
SET pm.meta_value = ''
WHERE p.post_status = 'publish'
AND p.post_type = 'product_variation'
AND pm.meta_key = '_thumbnail_id'
或者您可以在自定义内置函数中使用此轻型 SQL 查询来删除所有变体图像 (或可选地仅删除相关的父变量产品 ID):
function remove_all_variations_images( $parent_id = 0 ){
global $wpdb;
$one_parent = $parent_id === 0 ? "" : "AND p.post_parent = $parent_id";
return $wpdb->query("
UPDATE {$wpdb->prefix}postmeta as pm
JOIN {$wpdb->prefix}posts AS p ON pm.post_id = p.ID
SET pm.meta_value = ''
WHERE p.post_status = 'publish'
AND p.post_type = 'product_variation'
AND pm.meta_key = '_thumbnail_id'
$one_parent
");
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
USAGE (备份数据库之前):
对于批量的所有变体图像,您将添加到您的 function.php 文件:
remove_all_variations_images();
然后保存并浏览您网站的任何页面。然后在完成后将其删除。
对于一种特定的可变产品(比如说可变产品 ID 72):
remove_all_variations_images(72);
然后保存并浏览您网站的任何页面。然后在完成后将其删除。
SQLLite 版本非常适合我。谢谢!
节省了我从 500 多种产品中手动删除变体图像的时间!
对于任何想知道的人,这就是我所做的。
- 登录到 WP 后端。
- 通过外观>主题编辑器找到 functions.php 文件>functions.php(您可以 select 通过单击左侧列表中的名称来文件。(在我的例子中)
- 一直滚动到底部,并粘贴@LoicTheAztec 给出的函数,就在 php 代码中。
- 保存文件并刷新网站。瞧!图片不见了!
- 删除了该功能,使其不保留 运行,并再次保存了文件。
在 Woocommerce 中(在我的例子中是 3.5.1),是否可以删除所有特定于变体的图像,以便当用户在产品页面中选择变体时图像不会改变?
我想要这个
而不是那个
您可以批量删除所有产品变体图像,例如使用 phpMyAdmin 进行直接 SQL 查询 (备份数据库之前):
UPDATE wp_postmeta as pm
JOIN wp_posts AS p ON pm.post_id = p.ID
SET pm.meta_value = ''
WHERE p.post_status = 'publish'
AND p.post_type = 'product_variation'
AND pm.meta_key = '_thumbnail_id'
或者您可以在自定义内置函数中使用此轻型 SQL 查询来删除所有变体图像 (或可选地仅删除相关的父变量产品 ID):
function remove_all_variations_images( $parent_id = 0 ){
global $wpdb;
$one_parent = $parent_id === 0 ? "" : "AND p.post_parent = $parent_id";
return $wpdb->query("
UPDATE {$wpdb->prefix}postmeta as pm
JOIN {$wpdb->prefix}posts AS p ON pm.post_id = p.ID
SET pm.meta_value = ''
WHERE p.post_status = 'publish'
AND p.post_type = 'product_variation'
AND pm.meta_key = '_thumbnail_id'
$one_parent
");
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。
USAGE (备份数据库之前):
对于批量的所有变体图像,您将添加到您的 function.php 文件:
remove_all_variations_images();
然后保存并浏览您网站的任何页面。然后在完成后将其删除。
对于一种特定的可变产品(比如说可变产品 ID 72):
remove_all_variations_images(72);
然后保存并浏览您网站的任何页面。然后在完成后将其删除。
SQLLite 版本非常适合我。谢谢! 节省了我从 500 多种产品中手动删除变体图像的时间! 对于任何想知道的人,这就是我所做的。
- 登录到 WP 后端。
- 通过外观>主题编辑器找到 functions.php 文件>functions.php(您可以 select 通过单击左侧列表中的名称来文件。(在我的例子中)
- 一直滚动到底部,并粘贴@LoicTheAztec 给出的函数,就在 php 代码中。
- 保存文件并刷新网站。瞧!图片不见了!
- 删除了该功能,使其不保留 运行,并再次保存了文件。