wp_get_attachment_image_src( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false )

Retrieve an image to represent an attachment.


A mime icon for files, thumbnail or intermediate size for images.

The returned array contains four values: the URL of the attachment image src, the width of the image file, the height of the image file, and a boolean representing whether the returned array describes an intermediate (generated) image size or the original, full-sized upload.



(int) (Required) Image attachment ID.


(string|array) (Optional) Image size. Accepts any valid image size, or an array of width and height values in pixels (in that order).

Default value: 'thumbnail'


(bool) (Optional) Whether the image should be treated as an icon.

Default value: false


(false|array) Returns an array (url, width, height, is_intermediate), or false, if no image is available.


File: wp-includes/media.php

function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon = false ) {
	// get a thumbnail or intermediate image if there is one
	$image = image_downsize( $attachment_id, $size );
	if ( ! $image ) {
		$src = false;

		if ( $icon && $src = wp_mime_type_icon( $attachment_id ) ) {
			/** This filter is documented in wp-includes/post.php */
			$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );

			$src_file = $icon_dir . '/' . wp_basename( $src );
			@list( $width, $height ) = getimagesize( $src_file );

		if ( $src && $width && $height ) {
			$image = array( $src, $width, $height );
	 * Filters the image src result.
	 * @since WP-4.3.0
	 * @param array|false  $image         Either array with src, width & height, icon src, or false.
	 * @param int          $attachment_id Image attachment ID.
	 * @param string|array $size          Size of image. Image size or array of width and height values
	 *                                    (in that order). Default 'thumbnail'.
	 * @param bool         $icon          Whether the image should be treated as an icon. Default false.
	return apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );


Version Description
WP-2.5.0 Introduced.