Woocommer如何批量删除指定分类下的产品?

woocommerce错误了发布/导入了大量产品,如何删除清理指定分类的所有产品?

首先,查询对应的产品分类ID,这个不多说,自行查询

然后使用wp cli进行如下操作

第一种方法:适合少量产品删除

#需指定wordprdss账号,--force=true为强制删除不进垃圾箱
wp wc product list --category=分类ID --field=id --user=指定一个wordprss账号 | xargs -n 1 wp wc product delete --force=true --user=指定一个wordprss账号

第二种方法:适合大量产品的删除

#删除指定分类ID下的产品
wp db query "DELETE FROM wp_posts WHERE ID IN (SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id = (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 分类ID AND taxonomy = 'product_cat'));"

#删除关联的元数据
wp db query "DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);"
wp db query "DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);"

#重新统计分类和TAG的数量
wp term recount product_cat product_tag

结束!