wp_attachment_is() – Verifies an attachment is of a given type.

You appear to be a bot. Output may be restricted

Description

Verifies an attachment is of a given type.

Usage

$bool = wp_attachment_is( $type, $post );

Parameters

$type
( string ) required – Attachment type. Accepts 'image', 'audio', or 'video'.
$post
( int|WP_Post ) optional – Optional. Attachment ID or object. Default is global $post.

Returns

bool True if one of the accepted types, false otherwise.

Source

File name: wordpress/wp-includes/post.php
Lines:

1 to 44 of 44
function wp_attachment_is( $type, $post = null ) {
  $post = get_post( $post );

  if ( ! $post ) {
    return false;
  }

  $file = get_attached_file( $post->ID );

  if ( ! $file ) {
    return false;
  }

  if ( 0 === strpos( $post->post_mime_type, $type . '/' ) ) {
    return true;
  }

  $check = wp_check_filetype( $file );

  if ( empty( $check['ext'] ) ) {
    return false;
  }

  $ext = $check['ext'];

  if ( 'import' !== $post->post_mime_type ) {
    return $type === $ext;
  }

  switch ( $type ) {
    case 'image':
      $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png', 'webp' );
      return in_array( $ext, $image_exts, true );

    case 'audio':
      return in_array( $ext, wp_get_audio_extensions(), true );

    case 'video':
      return in_array( $ext, wp_get_video_extensions(), true );

    default:
      return $type === $ext;
  }
}
 

 View on GitHub View on Trac