# Use an ACF Image When There Is No Featured Image

> Makes WordPress treat an ACF image field as the featured image for posts that have none, so archives, related posts and social previews still get a picture.

- Type: PHP
- Runs: Run everywhere
- Category: [Custom Post Types & Fields](https://wpide.com/library/category/post-types/)
- Tags: acf, featured-image, images
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/acf-image-as-featured-fallback/

## Code

```php
// Image field used as the fallback.
$wpide_acf_thumb_field = 'hero_image';

add_filter( 'post_thumbnail_id', function ( $thumbnail_id, $post ) use ( $wpide_acf_thumb_field ) {
    if ( $thumbnail_id || ! $post instanceof WP_Post ) {
        return $thumbnail_id;
    }

    // Read the raw meta (the attachment ID) to avoid loading ACF on every thumbnail call.
    $id = absint( get_post_meta( $post->ID, $wpide_acf_thumb_field, true ) );

    return ( $id && wp_attachment_is_image( $id ) ) ? $id : $thumbnail_id;
}, 10, 2 );
```

## Notes

Set the image field name. A real featured image always wins.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Use an ACF Image When There Is No Featured Image" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
