php - 使用 save_post 操作(自定义帖子类型)在函数中操作自定义字段(在 acf 中创建)以更新元数据
问题描述
在woocommerce的自定义帖子类型产品中,我有一些自定义字段(在ACF中创建),我需要在保存或更新帖子时采取行动,即我想在woocommerce属性中添加字段的值. 这是我的示例代码。我有一个名为 : ISBN 的文本字段,我尝试在元属性中传递值:
//save_post_NAME_CPT
add_action('save_post_product', 'update_post_meta_subito' , 10, 3 );
function update_post_meta_subito( $post_id, $post, $update ) {
//get field isbn of current post
$prova_termine = get_field( "isbn", $post_id );
//add value field in global pa_autore attribute
$term_taxonomy_ids = wp_set_object_terms( $post_id, $prova_termine, 'pa_autore', true );
//add value field in current attribute post
$data = Array(
'pa_autore'=>Array(
'name'=>'pa_autore',
'value'=>$prova_termine,
'is_visible' => '1',
'is_variation' => '1',
'is_taxonomy' => '1'
),
);
update_post_meta( $post_id, '_product_attributes',$data);
}
这不起作用!它没有传递任何价值!但在这种情况下,它可以工作:
add_action('save_post_product', 'update_post_meta_subito' , 10, 3 );
function update_post_meta_subito( $post_id, $post, $update ) {
$prova_termine='ronaldo';
$term_taxonomy_ids = wp_set_object_terms( $post_id, $prova_termine, 'pa_autore', true );
$data = Array(
'pa_autore'=>Array(
'name'=>'pa_autore',
'value'=>$prova_termine,
'is_visible' => '1',
'is_variation' => '1',
'is_taxonomy' => '1'
),
);
update_post_meta( $post_id, '_product_attributes',$data);
}
那么,在第一个函数中没有取字段的值,我哪里错了?