Home › Forums › General Issues › Set featured image from ACF image field
I am looking for a way to automatically set the featured image of a post or custom post type, to the image uploaded on a custom image field.
any ideas?
thanks
Andy
This is covered pretty well here https://support.advancedcustomfields.com/forums/topic/set-image-as-featured-image/ let me know if you have any questions.
yes the code is – works with custom post types too:
<?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
add_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=cursusfoto', 'acf_set_featured_image', 10, 3);
?>
I know this is an old topic, but after doing this for some time I’ve just recently realized that using a filter isn’t needed. All you really need to do is create an image field with the field name of “_thumbnail_id”, and ACF will just update the featured image for you. There’s no error checking, but simply making your image field required deals what that problem.
Just thought I add this for anyone that finds this topic.
John Huebner,
Just found this topic, thank you for writing this!
The more I use ACF, the more I like (and understand) it but now I’ve got a small problem.
I need to copy the image-url from the options page to the featured image of a new post. The image is already uploaded. My code is not functioning… Can you give me a hint?
PS: field_5dc3135e281b9 is the fieldkey and _thumbnail_id is the fieldname of the option field with the image.
<?php
function acf_set_featured_image( $value, $post_id, $field ){
$value = get_field(‘_thumbnail_id’, ‘options’); // get image from optionspage
add_post_meta(‘$post_id’, ‘_thumbnail_id’, $value);
return $value;
}
add_filter(‘acf/update_value/key=field_5dc3135e281b9’, ‘acf_set_featured_image’, 10, 3);
?>
@John Huebner’s response is the most accurate without having to add code to the functions.php file.
@hube2 Its possible to do this with multiple feature images.
My goal is, I have a post with acf with 3 dropdown options
So depending of which option I choose I will automatically share a image in social media when I post. In a normal scenario, wordpress will take featured image as thumbnail for social media.
But its possible to attach an image to each dropmenu option in acf?
WP only allows a single featured image per post, so you can’t add alternates.
Hi,
I am trying to achieve this but from a field inside an ACF Block and it is not working. What would be the correct way to do this?
Thanks.
I know it’s been a while since anyone has posted on this and most of what I can find nowadays is pretty ancient. Has this ever been updated with any of the ACF pro releases or do I still have to put “_thumbnail_id” in the image field?
It still works, although I do not know if it will work with blocks as @ybdigital is looking to do. I do not use blocks. However, I would suspect that it will not work. Normal ACF fields save data to the postmeta table. Fields in blocks save data to post_content.
I’m just using it with the default WP classic editor. I’m doing ACF Pro with CPT UI. But I think I found a workaround for now that looks to be doing the trick by using WP User Frontend and creating a form to match my custom fields.
I am new and still learning. Can someone simplify this for me. What parts of this functions do I need to change to make this work?
_______
<?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
add_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=cursusfoto’, ‘acf_set_featured_image’, 10, 3);
?>
Guys pleaseeeee can you help me
I am looking to do the same thing. Whwn i use wp all import it downloads the image from an external source how do i get my gallery field to also upload that same image that just got downloaded
The topic ‘Set featured image from ACF image field’ is closed to new replies.
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.