从现有 woocommerce 产品中删除变体的给定产品属性
Remove a given product attribute for variations from existing woocommerce products
我似乎找不到任何人处理这种确切情况,我自己也无法完全解决。
在我的情况下,我有数百个具有属性的产品,我们称它为 foo。在 wp_term_taxonomy
table 中它的 taxonomy
是 pa_foo
。它可能具有三个可能的值:big
、bigger
、biggest
。还有一个属性 bar
,具有不同的值。我想保留这些。
现在,我知道我可以像这样删除分类法的东西:
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count < 5 AND taxonomy = 'pa_foo');
DELETE FROM wp_term_taxonomy WHERE count < 5 AND taxonomy = 'pa_foo';
DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
但在产品展示页面上,我仍然看到下拉列表 big
、bigger
和 biggest
。我该如何摆脱那个讨厌的东西?我希望 woocommerce 摆脱或完全忽略 foo
属性。
无法使用 SQL 查询 执行此操作,因为可变产品的相关属性数据也存储在 [=10 中的序列化数组中=] table meta_key = '_product_attributes'
(也许 meta_key = '_default_attributes'
…)
另外删除用于变体的产品属性,将迫使您删除可变产品的所有相关产品变体……
我似乎找不到任何人处理这种确切情况,我自己也无法完全解决。
在我的情况下,我有数百个具有属性的产品,我们称它为 foo。在 wp_term_taxonomy
table 中它的 taxonomy
是 pa_foo
。它可能具有三个可能的值:big
、bigger
、biggest
。还有一个属性 bar
,具有不同的值。我想保留这些。
现在,我知道我可以像这样删除分类法的东西:
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count < 5 AND taxonomy = 'pa_foo');
DELETE FROM wp_term_taxonomy WHERE count < 5 AND taxonomy = 'pa_foo';
DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
但在产品展示页面上,我仍然看到下拉列表 big
、bigger
和 biggest
。我该如何摆脱那个讨厌的东西?我希望 woocommerce 摆脱或完全忽略 foo
属性。
无法使用 SQL 查询 执行此操作,因为可变产品的相关属性数据也存储在 [=10 中的序列化数组中=] table meta_key = '_product_attributes'
(也许 meta_key = '_default_attributes'
…)
另外删除用于变体的产品属性,将迫使您删除可变产品的所有相关产品变体……