我有一个可变的产品与5变化(基于单一属性-大小)。
因此:
产品"衬衫"-产品ID = 1234
- 变异XS(超小)-变异id = 1235
- 变异S(小)-变异id = 1236
- 变异M(中等)-变异id = 1237
- 变异L(大)-变异id = 1238
- 变异XL(超大)-变异id = 1239
我想删除变体XL。
我能找到的最好的是(考虑到变体是'product_variation'类型的帖子):
<?php wc_delete_post(1239, true); ?>
这将删除变化和相关的元数据,但是,我仍然留下了大小属性在列表中的可能属性时,编辑产品(在属性选项卡)见所附的图片。
有没有人有一个php代码剪,将完全删除包括这个属性条目的产品变体。
2条答案
按热度按时间unftdfkk1#
您可以使用以下命令删除产品中的属性:
更多信息:https://codex.wordpress.org/Function_Reference/wp_remove_object_terms
xuo3flqw2#
删除变体(源代码):
//真=强制删除
//false =移动到垃圾桶
自动从变量产品中删除属性
屏幕截图中的大小值与您的 * Variable Product * 相关联,而 * 不是 * 单个变体。
因此,删除变体不会从父产品中删除关联的属性,因为您仍然可以选择使用这些属性创建新变体(以后仍然可以添加XL衬衫)。
但是,如果您希望在删除变体后自动删除关联的变体属性,下面是有关如何做到这一点的代码建议:
可变产品属性(之前):小、中、大、特大
变异属性:四十
可变产品属性(之后):小、中、长
除了克隆对象之外,您还可以创建一个新的
WC_Product_Attribute()
示例并手动分配所有必要的数据。