Mestika
11/26/2015 - 5:47 AM

Wordpress: Adding Metadata to Attachments / Images

Wordpress: Adding Metadata to Attachments / Images

<?php

<?php $description = $post->post_content; ?>
<div class="attachment-description">
  <?php echo $description; ?>
</div>
<div class="attachment-exif-data">
<?php
 $meta = wp_get_attachment_metadata($id);
  echo "Resolution: ".$meta[width]." x ".$meta[height]."<br />";
  echo "Credit:  ".$meta[image_meta][credit]."<br /> ";
  echo "Camera:  ".$meta[image_meta][camera]."<br />";
  echo "Focal length:  ".$meta[image_meta][focal_length]."<br />";
  echo "Aperture:  ".$meta[image_meta][aperture]."<br />";
  echo "ISO:  ".$meta[image_meta][iso]."<br />";
  echo "Shutter speed:  ".$meta[image_meta][shutter_speed]."<br />";
  $timestamped = $meta[image_meta][created_timestamp];
  $created_timestamp = date("F j, Y, g:i a", $timestamped);	
  echo "Time Stamp:  ".$created_timestamp."<br />";
  echo "Copyright:  ".$meta[image_meta][copyright];
?>
</div>
?>
<?php
/**
 * Add Photographer Name and URL fields to media uploader
 */
 
function be_attachment_field_credit( $form_fields, $post ) {
  $form_fields['be-photographer-name'] = array(
    'label' => 'Photographer Name',
    'input' => 'text',
    'value' => get_post_meta( $post->ID, 'be_photographer_name', true ),
    'helps' => 'If provided, photo credit will be displayed',
  );

  $form_fields['be-photographer-url'] = array(
    'label' => 'Photographer URL',
    'input' => 'text',
    'value' => get_post_meta( $post->ID, 'be_photographer_url', true ),
    'helps' => 'Add Photographer URL',
  );

  return $form_fields;
}

add_filter( 'attachment_fields_to_edit', 'be_attachment_field_credit', 10, 2 );

/**
 * Save values of Photographer Name and URL in media uploader
 *
 */

function be_attachment_field_credit_save( $post, $attachment ) {
  if( isset( $attachment['be-photographer-name'] ) )
    update_post_meta( $post['ID'], 'be_photographer_name', $attachment['be-photographer-name'] );

  if( isset( $attachment['be-photographer-url'] ) )
update_post_meta( $post['ID'], 'be_photographer_url', esc_url( $attachment['be-photographer-url'] ) );

  return $post;
}

add_filter( 'attachment_fields_to_save', 'be_attachment_field_credit_save', 10, 2 );


?>