【问题标题】:Remove Woocommerce products but keep categories删除 Woocommerce 产品但保留类别
【发布时间】:2016-12-08 09:34:53
【问题描述】:

我有一个使用 Woocommerce 插件运行的 Wordpress 网站。我有大量产品需要删除,不幸的是,通过 Wordpress 后端删除是一个非常耗时且令人沮丧的过程。

我一直在寻找通过phpMyAdmin删除产品的方法,发现如下

DELETE relations.*, taxes.*, terms.*
FROM wp_term_relationships AS relations
INNER JOIN wp_term_taxonomy AS taxes
ON relations.term_taxonomy_id=taxes.term_taxonomy_id
INNER JOIN wp_terms AS terms
ON taxes.term_id=terms.term_id
WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product');

DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product');
DELETE FROM wp_posts WHERE post_type = 'product';

这很好用,接受它还会删除我想保留的产品类别。

有没有办法删除所有 woocommerce 产品但使用 SQL 保留类别?

谢谢

【问题讨论】:

  • 哪个表包含产品类别?
  • 删除查询的第一部分并只运行这个 - DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product'); DELETE FROM wp_posts WHERE post_type = 'product';
  • 谢谢@Manthan。这就是诀窍。我唯一的问题是我的类别和属性仍然有产品计数,尽管我已经删除了所有产品。有没有办法完全删除产品,以便不再对类别进行任何计数?谢谢
  • 好的,它确认所有产品都从上面删除,只使用第二个查询?如果是,那么只需清除缓存,您的类别将不会显示产品计数,因为我们已删除所有产品
  • 这似乎不起作用我担心@Manthan。我可以确认产品已被删除。然后,我清除了浏览器上的缓存,并在隐身窗口中查看了类别。不幸的是,这些类别仍然具有归因于它们的产品数量。感谢您一直以来的帮助

标签: php mysql sql wordpress


【解决方案1】:

在我的例子中,这个 MySQL 查询有帮助

-- Remove all product attributes from WooCommerce
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%');
DELETE FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%';
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

-- Delete all WooCommerce products and product variation
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation'));
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation'));
DELETE FROM wp_posts WHERE post_type IN ('product','product_variation');

-- Delete orphaned postmeta
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL

取自github.com

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 2015-08-13
    • 2021-08-08
    相关资源
    最近更新 更多