Opened 3 years ago

Last modified 8 months ago

#12238 new enhancement

Introduce a function to return image attributes of a specific attachment

Reported by: jredfern Owned by:
Priority: normal Milestone: Future Release
Component: Media Version:
Severity: normal Keywords: has-patch dev-feedback
Cc: xoodrew@…, akosti92@…

Description (last modified by nacin)

It's useful to get all the data relating to an image via one source:

/**
* returns an array containing attributes for an image stored in the database
 * $image_id : id of the image to query
 * $size : size of the image, can be 'thumbnail', 'medium', 'large' or 'full'
 */	
function get_image_by_id($image_id, $size) {
	$image = get_post($image_id);

	$imageObj = array();
	$imagearray = wp_get_attachment_image_src($image->ID, $size, false);
	$imageObj['src'] = $imagearray[0];
	$imageObj['width'] = $imagearray[1];
	$imageObj['height'] = $imagearray[2];
	$imageObj['id'] = $image->ID;
	$imageObj['title'] = $image->post_title;
	$imageObj['caption'] = $image->post_excerpt;
	$imageObj['description'] = $image->post_content;
	$imageObj['alt'] = get_post_meta($image->ID, '_wp_attachment_image_alt', true);

	return $imageObj;
}

Attachments (1)

post.php.diff (2.1 KB) - added by Amit_k 8 months ago.
Creates function get_attachment() to retrive image info

Download all attachments as: .zip

Change History (8)

  • Component changed from General to Media
  • Description modified (diff)
  • Milestone changed from Unassigned to 3.1

I wish I would have found this earlier. It is so much simpler than the solution I was working on. However, think it would helpful to be able to access the data in an object format $object->variable. Also, setting a default value for $size would allow easier access to image details such as caption and description when the size doesn't matter. Here are the changes I made:

function get_image_by_id($image_id, $size = 'full') {
	$image = get_post($image_id);
	$imagearray = wp_get_attachment_image_src($image->ID, $size, false);
	$imageObj->src = $imagearray[0];
	$imageObj->width = $imagearray[1];
	$imageObj->height = $imagearray[2];
	$imageObj->id = $image->ID;
	$imageObj->title = $image->post_title;
	$imageObj->caption = $image->post_excerpt;
	$imageObj->description = $image->post_content;
	$imageObj->alt = get_post_meta($image->ID, '_wp_attachment_image_alt', true);

	return $imageObj;
}

Let me know if there's anything else I can do to help this process along.

  • Keywords needs-patch added
  • Milestone changed from Awaiting Triage to Future Release

Needs a formal patch.

  • Summary changed from image helper functions that I think would be useful in the core to Introduce a function to return image attributes of a specific attachment

Duplicate: #21851

  • Keywords has-patch added; needs-patch removed

Amit_k8 months ago

Creates function get_attachment() to retrive image info

  • Cc xoodrew@… added
  • Cc akosti92@… added
  • Keywords dev-feedback added
Note: See TracTickets for help on using tickets.