Access Adobe XMP / IPTC information from Media Library and NextGEN Gallery images using a Shortcode or PHP Class
Retrieve the following Adobe XMP / IPTC information from images in the WordPress Media Library and NextGEN Galleries:
The Adobe XMP for WP plugin reads image files progressively (small chunks at a time) to extract the embeded XMP meta data, instead of reading the whole file into memory as other image management plugins do. The extracted XMP data is also cached on disk to improve performance and is refreshed only if/when the original image is modified. You can use the plugin in one of two ways; calling a method from the
$adobeXMP global class object in your template(s), or using an
[xmp] shortcode in your Posts or Pages.
global $adobeXMP; $xmp = $adobeXMP->get_xmp( $id ); // $id can be a Media Library image ID, or a NextGEN Gallery image ID in the form of 'ngg-#'. echo 'Taken by ', $xmp['Creator'], "\n";
This shortcode prints all the XMP information for Media Library image ID "101" and NextGEN Gallery image ID "201". The XMP information is printed as a definition list
<dl> with a class name of
xmp_shortcode that you can style for your needs. Each
<dd> element also has a style corresponding to it's title - for example, the "Creator" list element has an
xmp_creator class name. Here's an example of the definition list HTML:
<dl class="xmp_shortcode"> <dt class="xmp_credit">Credit</dt> <dd class="xmp_credit">Jean-Sebastien Morisset</dd> <dt class="xmp_source">Source</dt> <dd class="xmp_source">Underwater Focus</dd> <dt class="xmp_hierarchical_keywords">Hierarchical Keywords</dt> <dd class="xmp_hierarchical_keywords">What > Photography > Field of View > Wide-Angle > Fish-Eye</dd> </dl>
The shortcode can also take a few additional arguments:
include(defaults to "all")
Define which XMP elements to include, for example
[xmp id="101" include="Creator,Creator Email"].
Please note that the
include values are case sensitive.
exclude(defaults to none)
Exclude some XMP elements, for example
[xmp id="101" exclude="Creator Email"] to print all XMP elements, except for the "Creator Email".
show_title(defaults to "yes")
Toggle printing of the XMP element title, for example
[xmp id="101" show_title="no"] only prints the
<dd> values, not the
not_keyword(defaults to none)
Exclude a list of (case incensitive) keywords, for example
[xmp id="101" not_keyword="who,what,where"].
To exclude a hierarchical keyword list, use hyphens between the keywords, for example
[xmp id="101" not_keyword="who,what,where,who-people-unknown"].