微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Woocommerce:使用现有属性为现有产品添加变体

我试图找出如何为现有产品添加变体的方式,而不是最初的变量产品.

所以我有一个产品衬衫,我有另外一个有不同颜色的库存,所以我的产品进口商需要为这个现有产品添加一个新的变化.

wp_set_object_terms ($product_id,'black','pa_color',1);

$attr_data = Array(
            'pa_color'=>Array(
                'name' => 'pa_color','value' => '','is_visible' => '1','is_variation' => '1','is_taxonomy' => '1'
            )
        );
update_post_Meta($product_id,'_product_attributes',$attr_data);

这会为我的产品添加颜色,但会破坏产品上的所有现有属性.拉动现有的_product_attributes只会给我序列化的属性,所以只是在所有内容之上添加新的变体是行不通的.

有任何想法吗?

解决方法

基本上问题是product_attribute不是单个变量,似乎wp_set_object_terms中没有合并

我这样解决了我的问题:

wp_set_object_terms ($product_id,1);

        $attr_data = Array(
            'pa_color'=>Array(
                'name' => 'pa_color','is_taxonomy' => '1'
            )
        );

        $product = new WC_Product($product_id);

        update_post_Meta( $product_id,array_merge($product->get_attributes(),$attr_data) );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐