我已经在我的WooCommerce中添加了一些产品,以编程方式使用两个属性(pa_size,pa_color)。它们都用于变化。现在我想制作一个php文件,它会在每个产品中插入一个属性(pa_brand)。这仅用于可见性而不用于变体。
我尝试了一些代码:
NotificationCompat.Builder builder =
(NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setContentTitle("Where?")
.setContentText(text)
.setSmallIcon(R.drawable.wimbicon);
但我的问题是这样,添加了品牌属性,但我已经迷失了属性。
结果是我得到的产品只有一个属性。
有没有办法只添加一个属性,而不会丢失任何前一个属性(属性 -
答案 0 :(得分:2)
update_post_meta()
将始终在调用时更改值 - 您需要先获取现有元数据并将其存储在数组中:
$term_taxonomy_ids = wp_set_object_terms( $productID, $productBrand, 'pa_brand', true );
$existingData['pa_size'] = get_post_meta($productID, 'pa_size', true);
$existingData['pa_color'] = get_post_meta($productID, 'pa_color', true);
$thedata = Array(
'pa_brand'=>Array(
'name'=>'pa_brand',
'value'=>$productBrand,
'is_visible' => '1',
'is_taxonomy' => '1'
),
'pa_size' => Array(
'name'=>'pa_size',
'value'=>$existingData['pa_size'],
'is_visible' => '1',
'is_taxonomy' => '1'
),
'pa_color' => Array(
'name'=>'pa_color',
'value'=>$existingData['pa_color'],
'is_visible' => '1',
'is_taxonomy' => '1'
)
);
update_post_meta( $productID,'_product_attributes',$thedata);
答案 1 :(得分:1)
最后,在最后一行我添加了这个:
wp_set_object_terms( $productID, $productBrand, 'pa_brand' , true);
现在似乎没有任何问题。我希望它也会对你有所帮助。