繁体   English   中英

Wordpress 在更新后期元数据之前触发钩子

[英]Wordpress hook firing before post meta is being updated

function auto_assign_taxonomies($post_id) {

 if (get_post_type($post_id) == 'sales') {
     $terms1 = get_field("sales_product", $post_id, false);
     $terms2 = get_field("sales_product_2", $post_id, false);
     $terms3 = get_field("sales_product_3", $post_id, false);
     $terms4 = get_field("sales_product_4", $post_id, false);
     $terms5 = get_field("sales_product_5", $post_id, false);
     $terms6 = get_field("sales_product_6", $post_id, false);
     $terms7 = get_field("sales_product_7", $post_id, false);
     $terms8 = get_field("sales_product_8", $post_id, false);
     $arr = ["$terms1","$terms2","$terms3","$terms4","$terms5","$terms6","$terms7","$terms8"];
     
     
     wp_set_object_terms( $post_id, $arr, 'product', false );
     
 }
}

add_action('save_post', 'auto_assign_taxonomies');

您好,我正在尝试使用高级自定义字段值从自定义帖子类型sales更新自定义分类product ,function 本身运行良好,数据正在转换为分类,但这里的问题是我的钩子'正在使用, save_post似乎在保存帖子之前给了我元值,我已经尝试过edit_post钩子但没有成功,如果有人可以在这方面帮助我,我将非常感激。

您可以查询 $_POST 数据以获取新值。

为此,请为每个字段使用这样的片段。

$field_obj = get_field_object( "fieldname", $post_id );
$field_key = $field_obj["key"];
$new_data = $_POST["acf"][$field_key];
$curr_data = get_field( "fieldname", $post_id );

注意:我不确定这是否会有所不同(不相信它应该),但是,我在另一个钩子“acf/save_post”中这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM