【发布时间】:2019-04-07 08:11:14
【问题描述】:
【问题讨论】:
标签: php sql wordpress woocommerce variations
【问题讨论】:
标签: php sql wordpress woocommerce variations
您可以批量删除所有产品变体图像,例如使用 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);
然后保存并浏览您网站的任何页面。完成后将其删除。
【讨论】:
SQLLite 版本非常适合我。谢谢! 节省了我从 500 多种产品中手动删除变体图像的时间! 对于任何想知道的人,这就是我所做的。
【讨论】: