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.
Opens WPIDE on
Code
// 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 add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.