How can I determine if a post has an image attachment?

As far as I know, there’s not a simple function that will return true if a post has an attachment. With that in mind, what’s the best way to determine if a post has an attachment (or even better, has an image attachment)? I’m automatically inserting a shortcode on posts, but would like that to only happen if there is actually an image attached to the post.

Related posts

Leave a Reply

1 comment

  1. I think this should work:

    $attachments = get_children( array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image') );
    
    if ( $attachments ) {
    
     // do conditional stuff here 
    
    }