wp_get_attachment_metadata( int $attachment_id, bool $unfiltered = false )

Retrieves attachment metadata for attachment ID.


Parameters

$attachment_id

(Required) Attachment post ID. Defaults to global $post.

$unfiltered

(Optional) If true, filters are not run.

Default value: false


Return

(array|false) Attachment metadata. False on failure.<br>

  • 'width'
    (int) The width of the attachment.<br>
  • 'height'
    (int) The height of the attachment.<br>
  • 'file'
    (string) The file path relative to wp-content/uploads.<br>
  • 'sizes'
    (array) Keys are size slugs, each value is an array containing 'file', 'width', 'height', and 'mime-type'.<br>
  • 'image_meta'
    (array) Image metadata.<br>
  • 'filesize'
    (int) File size of the attachment.<br>


Source

File: wp-includes/post.php

function wp_get_attachment_metadata( $attachment_id = 0, $unfiltered = false ) {
	$attachment_id = (int) $attachment_id;
	if ( ! $post = get_post( $attachment_id ) ) {
		return false;
	}

	$data = get_post_meta( $post->ID, '_wp_attachment_metadata', true );

	if ( $unfiltered )
		return $data;

	/**
	 * Filters the attachment meta data.
	 *
	 * @since WP-2.1.0
	 *
	 * @param array|bool $data          Array of meta data for the given attachment, or false
	 *                                  if the object does not exist.
	 * @param int        $attachment_id Attachment post ID.
	 */
	return apply_filters( 'wp_get_attachment_metadata', $data, $post->ID );
}


Changelog

Changelog
Version Description
6.0.0 The $filesize value was added to the returned array.
2.1.0 Introduced.