我的一些产品有这些奇怪的变化,但属性不明确(我在商店里使用的是尺寸和颜色)。看起来是这样的:
因此,如果您要购买85 B的黑色变体产品(ID 111224),实际上订单将包含未指定属性的变体(ID 112392),因为它更高。这是一个巨大的问题,因为这些未指定的变体包含错误的SKU和附加数据。
我正在使用WP All Import导入和更新产品,我怀疑插件(或我的设置)会造成这种混乱,我会看看它。然而,我在商店里有数千种产品,手动删除它们是不可能的。是否有办法删除至少有一个未指定变体的变体?
我尝试使用此tax\\u查询查询此类产品变体:
\'tax_query\' = array(
\'relation\' => \'OR\',
array(
\'taxonomy\' => \'pa_size\',
\'terms\' => array(\'\'),
\'field\' => \'slug\',
\'operator\' => \'IN\',
),
array(
\'taxonomy\' => \'pa_color\',
\'terms\' => array(\'\'),
\'field\' => \'slug\',
\'operator\' => \'IN\',
),
);
但是查询没有返回任何内容。当我试图将空字符串作为“term”数组中的值传递时,它不起作用。我还尝试使用“=”运算符和空字符串(不是数组)作为值。
顺便说一下,我已经检查了这些空属性是否真的是空字符串,是的,它们是。此代码:
$product = wc_get_product(112392);
$atts = $product->get_attributes();
foreach($atts as $att) {
echo gettype($att) . \' : \' . $att . \'<br>\';
}
输出:
string :
string :
而对于正确的变化(例如111224),它输出:
string : 85-b
string : black
你知道我怎样才能摆脱他们吗?我可以查询所有的产品变体,循环浏览它们并删除所有空的。可能会重复几次(基于执行时间),但这似乎不是一个好的解决方案,它的性能非常昂贵-同样的问题也可能在将来出现,我希望有一个快速的解决方案,只查询中断的变体。
非常感谢你。