【发布时间】:2018-05-19 08:31:33
【问题描述】:
向 WooCommerce 产品添加变体时,它会添加一个空白属性。这意味着当我尝试添加自己的属性时,它会附加到现有数组中。
我正在运行的示例代码:
$product_variation = wc_get_product( $variation_id );
$product_variation->set_attributes(array('attribute_pa_varinfo' => 'blue'));
$product_variation->save();
然后当我var_dump($product_variation); 我得到以下信息:
["attributes"]=>
array(2) {
[0]=>
string(0) ""
["pa_varinfo"]=>
string(4) "5034"
}
因此,当我在 WooCommerce 管理员中查看产品时,我的所有变体都在那里,但所有变体的属性都停留在“任何选项”。
奇怪的是,当我从 wp-admin 中“更新”产品时,所有变体都选择了正确的属性。
以前有没有人遇到过这种情况或对我能做什么有任何想法?
作为另一个例子,如果我运行以下命令:
$product_variation = wc_get_product( $variation_id );
$product_variation->set_attributes( array ( 'simon' => 'confused' ) );
$product_variation->save();
var_dump($product_variation->get_attributes());
这会返回:
array(2) {
[0]=> string(0) ""
["simon"]=> string(8) "confused"
}
第一项来自哪里?我似乎无法清除它。
【问题讨论】:
-
好的,我已经更新了我的答案……你可以查看
标签: php wordpress woocommerce custom-taxonomy variations