adobe-xmp-for-wp

JSM's Adobe XMP / IPTC for WordPress

View the Project on GitHub jsmoriss/adobe-xmp-for-wp

JSM Adobe XMP / IPTC for WordPress

Plugin NameJSM Adobe XMP / IPTC for WordPress
SummaryProvides Adobe XMP / IPTC information from Media Library or NextGEN Gallery images using a shortcode or PHP class method.
Stable Version1.6.0
Requires PHP7.2.34 or newer
Requires WordPress5.8 or newer
Tested Up To WordPress6.4.2
Contributorsjsmoriss
LicenseGPLv3
Tags / Keywordsadobe, xmp, xmpmeta, iptc, rdf, xml, lightroom, photoshop, media, library, nextgen, gallery, image, shortcode, function, method, meta data

Description

Retrieve the following Adobe XMP / IPTC information from images in the WordPress Media Library and NextGEN Galleries:

The extracted XMP / IPTC data is cached on disk to improve performance and is refreshed if / when the original image is modified.

You can use the plugin in one of two ways; calling a method in your theme template(s) or using the [xmp] shortcode in your content.

There are no plugin settings - simply install and activate the plugin.

Installation

Automated Install

  1. Go to the wp-admin/ section of your website.
  2. Select the Plugins menu item.
  3. Select the Add New sub-menu item.
  4. In the Search box, enter the plugin name.
  5. Click the Search Plugins button.
  6. Click the Install Now link for the plugin.
  7. Click the Activate Plugin link.

Semi-Automated Install

  1. Download the plugin ZIP file.
  2. Go to the wp-admin/ section of your website.
  3. Select the Plugins menu item.
  4. Select the Add New sub-menu item.
  5. Click on Upload link (just under the Install Plugins page title).
  6. Click the Browse... button.
  7. Navigate your local folders / directories and choose the ZIP file you downloaded previously.
  8. Click on the Install Now button.
  9. Click the Activate Plugin link.

Frequently Asked Questions

How do I retrieve XMP data as an array?

$adobeXMP =& adobeXMPforWP::get_instance();

$xmp = $adobeXMP->get_xmp( $image_id );

echo '<p>Photograph by ' . $xmp[ 'Creator' ] . '</p>';

How do I include a shortcode in a post or page?

[xmp id="101,ngg-201"]

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 <dt> and <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">JS 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:

Define which XMP elements to include, for example:

[xmp id="101" include="creator,creator email"]

Exclude some XMP elements, for example to print all XMP elements, except for the "creator email":

[xmp id="101" exclude="creator email"]

Include / exclude the <dt> definition titles.

[xmp id="101" show_title="no"]

Include / exclude empty <dd> definition values.

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"]