Home Forums General Issues Set featured image from ACF image field


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?


  • This is covered pretty well here let me know if you have any questions.

  • yes the code is – works with custom post types too:

    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.

    • Vasili

    • May 4, 2017 at 8:31 pm


    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.

    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.

    • josede

    • July 2, 2020 at 5:30 am

    @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?


  • 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.

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.

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 Cookie Policy. If you continue to use this site, you consent to our use of cookies.