正如Shibi已经指出的,在save_post
或acf/save_post
没有多大意义,因为您不会看到太多输出。但我不认为你想用这个值来回应它。我猜这只是某种调试方式?
但是,您的代码还有一个问题。它很可能会返回给定字段的上一个值。为什么?ACF文件offers some explanation.
此筛选器允许您在保存数据之前或之后挂接。需要注意的是,get\\u field()函数将在这些时间返回不同的值(以前的值/新值)。
所以,如果使用的优先级小于10,则会得到给定字段的前一个值。
function get_acf_value ($post_id) {
$v = get_field(\'field_5b1d13fce338d\', $post_id);
// $v contains old value of field \'field_5b1d13fce338d\'
echo $v;
}
add_action( \'acf/save_post\', \'get_acf_value\', 1 ); // <- priority is 1
如果使用的优先级大于10,则该字段将获得新值。
function get_acf_value ($post_id) {
$v = get_field(\'field_5b1d13fce338d\', $post_id);
// $v contains new value of field \'field_5b1d13fce338d\'
echo $v;
}
add_action( \'acf/save_post\', \'get_acf_value\', 20 ); // <- priority is 20
使用优先级等于10的函数有点冒险——很可能会得到旧的或新的值,这取决于什么时候分配了钩子。