I am trying to follow the method described here (https://support.advancedcustomfields.com/forums/topic/set-image-as-featured-image). But It’s not working whatever I do. There is no change in the featured image. Note, I am in a custom post type and I am trying to do this for a block.
This is added to my themes functions.php
function acf_set_featured_image( $value, $post_id, $field ){
if($value != ''){
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
update_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=character_featured_image', 'acf_set_featured_image', 10, 3);
This is my field group.
https://ibb.co/XJ2wJJv
After some debugging, I found that acf_set_featured_image
function isn’t running.
add_filter('acf/update_value/name=character_featured_image', 'acf_set_featured_image', 10, 3);
I suspect my acf/update_value
isn’t working here for some reason.
After some debugging, I found that acf_set_featured_image function isn’t running.
add_filter(‘acf/update_value/name=character_featured_image’, ‘acf_set_featured_image’, 10, 3);
I suspect my acf/update_value isn’t working here for some reason.
Ok, I was wrong here. I was using “Query Monitor” plugin to debug which didn’t properly show the result. The issue was $post_id
was returning block id instead of post id.
So corrected code will be
function acf_set_featured_image( $value, $post_id, $field ){
if($value != ''){
$post_id = get_the_ID() ? get_the_ID() : $_POST['post_id'];
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
update_post_meta($post_id, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=character_featured_image', 'acf_set_featured_image', 10, 3);
or
function acf_set_featured_image( $value, $post_id, $field ){
if($value != ''){
//Add the value which is the image ID to the _thumbnail_id meta data for the current post
update_post_meta(false, '_thumbnail_id', $value);
}
return $value;
}
// acf/update_value/name={$field_name} - filter for a specific field based on it's name
add_filter('acf/update_value/name=character_featured_image', 'acf_set_featured_image', 10, 3);
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.