答案 0 :(得分: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文件中。
使用情况 (在备份数据库之前):
对于所有批量制作的图片,您将添加到function.php文件中:
remove_all_variations_images();
然后保存并浏览您网站的任何页面。然后将其删除一次。
对于一种特定的变量产品(假设变量产品ID为72):
remove_all_variations_images(72);
然后保存并浏览您网站的任何页面。然后将其删除一次。
答案 1 :(得分:0)
SQLLite版本非常适合我。谢谢! 节省了我从500多种产品中手动删除变化图像的时间! 对于任何想知道的人,这就是我所做的。