我希望每次根据其他几个字段的内容保存商店中产品的属性。
但是我很难让我的属性正确显示。
最初,我尝试使用以下函数根据接受的答案to this question更新产品:
add_action( 'woocommerce_process_product_meta', 'update_dietary' );
function update_dietary( $object_id ) {
wp_set_object_terms( $object_id, 'UK Manufactured', 'pa_dietary' , false);
}
这会将"UK Manufactured"
添加到"pa_dietary"
分类法可用的术语列表中,但在我检查它们时,它们在产品属性中不可见。
在此之后,我尝试了上述问题中提供的第二个答案的变体:
add_action( 'woocommerce_process_product_meta', 'update_dietary' );
function update_dietary( $object_id ) {
$product_attributes = array();
$product_attributes['pa_dietary'] = array(
'name' => 'Dietary',
'value' => 'UK Manufactured',
'position' => 1,
'is_visible' => 1,
'is_variation' => 1,
'is_taxonomy' => 0
);
update_post_meta( $object_id,'_product_attributes', $product_attributes);
}
这也无法更新产品的属性。
此时我不知道下一步该尝试什么。使用woocommerce_process_product_meta
动作似乎是有效的,因为该术语确实被添加到Wordpress中,但我认为必须有一些关于Woocommerce如何处理产品属性的遗漏。
如果有人能指出我正确的方向,我将非常感激。
答案 0 :(得分:0)
尝试增加挂钩的优先级,如下所示:
add_action( 'woocommerce_process_product_meta', 'update_dietary',999 );