I’m trying to set the value of a field in a custom post type
right after that post has been created. Here is my code:
add_action('acf/save_post', 'set_coach_email');
function set_coach_email( $post_id ){
$posttype = get_post_type($post_id);
if ('team' !== $posttype){
return;
}
$email = '[email protected]';
update_field('coach_email', $email, $post_id);
}
I used ACF fields
to create this custom post type, but I can’t seem to get it to work.
2
Answers
I’d check the opposite conditional check. Also i’d first check if the field is empty or not, then i’d only run the update if the field is empty.
Just tested on my own custom post type and it worked fine. Let me know if you could get it to work too!
I find sometimes using
acf/save_post
, upping the priority makes sure everything else has run before running the action function.This might come into play when passing an
$post_id
in theget_field()
function, I tend not to pass the$post_id
when usingacf/save_post
to make sure the current latest field data is used. But this theory might not be the case. See comments in code below…