wp_get_attachment_metadata( int $attachment_id, bool $unfiltered = false ): array|false

Retrieves attachment metadata for attachment ID.

Parameters

$attachment_idintrequired
Attachment post ID. Defaults to global $post.
$unfilteredbooloptional
If true, filters are not run.

Default:false

Return

array|false Attachment metadata. False on failure.
  • width int
    The width of the attachment.
  • height int
    The height of the attachment.
  • file string
    The file path relative to wp-content/uploads.
  • sizes array
    Keys are size slugs, each value is an array containing 'file', 'width', 'height', and 'mime-type'.
  • image_meta array
    Image metadata.
  • filesize int
    File size of the attachment.

Source

function wp_get_attachment_metadata( $attachment_id = 0, $unfiltered = false ) {	$attachment_id = (int) $attachment_id;	if ( ! $attachment_id ) {	$post = get_post();	if ( ! $post ) {	return false;	}	$attachment_id = $post->ID;	}	$data = get_post_meta( $attachment_id, '_wp_attachment_metadata', true );	if ( ! $data ) {	return false;	}	if ( $unfiltered ) {	return $data;	}	/** * Filters the attachment meta data. * * @since 2.1.0 * * @param array $data Array of meta data for the given attachment. * @param int $attachment_id Attachment post ID. */	return apply_filters( 'wp_get_attachment_metadata', $data, $attachment_id ); } 

Hooks

apply_filters( ‘wp_get_attachment_metadata’, array $data, int $attachment_id )

Filters the attachment meta data.

Changelog

VersionDescription
6.0.0The $filesize value was added to the returned array.
2.1.0Introduced.

User Contributed Notes

  1. Skip to note 5 content

    Example return value

    Array (	[width] => 2400	[height] => 1559	[file] => 2011/12/press_image.jpg	[sizes] => Array	(	[thumbnail] => Array	(	[file] => press_image-150x150.jpg	[width] => 150	[height] => 150	[mime-type] => image/jpeg	)  => Array	(	[file] => press_image-4-300x194.jpg	[width] => 300	[height] => 194	[mime-type] => image/jpeg	)	[large] => Array	(	[file] => press_image-1024x665.jpg	[width] => 1024	[height] => 665	[mime-type] => image/jpeg	)	[post-thumbnail] => Array	(	[file] => press_image-624x405.jpg	[width] => 624	[height] => 405	[mime-type] => image/jpeg	)	)	[image_meta] => Array	(	[aperture] => 5	[credit] =>	[camera] => Canon EOS-1Ds Mark III =>	[created_timestamp] => 1323190643	[copyright] =>	[focal_length] => 35	[iso] => 800	[shutter_speed] => 0.016666666666667	[title] =>	) )
  2. Skip to note 7 content
    Anonymous User

    Example for video format:

    array(10) {	["filesize"] => int(227431276)	["mime_type"] => string(9) "video/mp4"	["length"] => int(918)	["length_formatted"] => string(5) "15:18"	["width"] => int(1280)	["height"] => int(720)	["fileformat"] => string(3) "mp4"	["dataformat"] => string(9) "quicktime"	["audio"] => array(7) {	["dataformat"] => string(3) "mp4"	["codec"] => string(19) "ISO/IEC 14496-3 AAC"	["sample_rate"] => float(44100)	["channels"] => int(2)	["bits_per_sample"] => int(16)	["lossless"] => bool(false)	["channelmode"] => string(6) "stereo"	}	["created_timestamp"]=> int(-2082844800) }

You must log in before being able to contribute a note or feedback.