Get detailed Exif information about the media file.
평가
최근 업데이트일
June 27, 2024
버전
1.09
활성화된 설치 항목
200
Exif Details

Get detailed Exif information about the media file.

Data Selection

  • FILE
  • EXIF
  • GPS

Sibling plugin

  • Can use the tags generated by this plugin in the following plugin.
  • Exif Caption.

Special Thanks! Test data provider

Sample using snippet 1 & 3

Sample of how to use the filter hook and action hook

  • Sample snippet 1
/** ================================================== * Sample snippet 1 * * The original filter hook('exif_details_data'), * which changes the display when retrieving an Exif and storing it in metadata. * The following changes the display of the shooting date and time. * * @param array $exifdatas exifdatas. * @param int $id id. */ function exif_details_change( $exifdatas, $id ) { if ( array_key_exists( 'DateTimeOriginal', $exifdatas ) ) { $shooting_date = str_replace( ':', '-', substr( $exifdatas['DateTimeOriginal'], 0, 10 ) ); $shooting_time = substr( $exifdatas['DateTimeOriginal'], 10 ); $exifdatas['DateTimeOriginal'] = $shooting_date . $shooting_time; } return $exifdatas; } add_filter( 'exif_details_data', 'exif_details_change', 10, 2 );
  • Sample snippet 2
/** ================================================== * Sample snippet 2 * * Retrieve the post metadata and add the date and time of the shooting to the title of the media page. * Execute the original action hook('exif_details_update') in the function. * * @param array $title title. * @param int $id id. */ function media_title( $title, $id ) { $datetime = null; if ( is_attachment() ) { do_action( 'exif_details_update', $id ); $exifdatas = get_post_meta( $id, '_exif_details', true ); if ( ! empty( $exifdatas ) && array_key_exists( 'DateTimeOriginal', $exifdatas ) ) { $datetime = ' Date:' . $exifdatas['DateTimeOriginal']; } } return $title . $datetime; } add_filter( 'the_title', 'media_title', 10, 2 );
  • Sample snippet 3
/** ================================================== * Sample snippet 3 * * When adding new media, insert the processed data into the caption. * Use the original action hook ('exif_details_update') with function. * * @param array $metadata metadata. * @param int $id id. */ function media_caption( $metadata, $id ) { $mime_type = get_post_mime_type( $id ); if ( in_array( $mime_type, array( 'image/jpeg', 'image/tiff' ) ) ) { do_action( 'exif_details_update', $id ); $exifdatas = get_post_meta( $id, '_exif_details', true ); if ( ! empty( $exifdatas ) ) { $camera = null; $f_number = null; $s_speed = null; $iso = null; $date = null; $googlemap = null; if ( array_key_exists( 'Model', $exifdatas ) ) { $camera = 'Camera:' . $exifdatas['Model']; } if ( array_key_exists( 'ApertureFNumber', $exifdatas ) ) { $f_number = 'F-number:' . $exifdatas['ApertureFNumber']; } if ( array_key_exists( 'ExposureTime', $exifdatas ) ) { $s_speed = 'Shutter speed:' . $exifdatas['ExposureTime']; } if ( array_key_exists( 'ISOSpeedRatings', $exifdatas ) ) { $isodata = json_decode( $exifdatas['ISOSpeedRatings'] ); if ( is_array( $isodata ) ) { $iso = 'ISO:' . $isodata[0]; } else { $iso = 'ISO:' . $isodata; } } if ( array_key_exists( 'DateTimeOriginal', $exifdatas ) ) { $date = 'Date:' . $exifdatas['DateTimeOriginal']; } if ( array_key_exists( 'latitude_dd', $exifdatas ) && array_key_exists( 'longtitude_dd', $exifdatas ) ) { $googlemap = '<a href="https://www.google.com/maps?q=' . $exifdatas['latitude_dd'] . ',' . $exifdatas['longtitude_dd'] . '">Google Map</a>'; } $caption = sprintf( '%1$s %2$s %3$s %4$s %5$s %6$s', $camera, $f_number, $s_speed, $iso, $date, $googlemap ); $caption = rtrim( $caption ); $caption = preg_replace( '/\s(?=\s)/', '', $caption ); $media_post = array( 'ID' => $id, 'post_excerpt' => $caption, ); wp_update_post( $media_post ); } } return $metadata; } add_filter( 'wp_generate_attachment_metadata', 'media_caption', 10, 2 );
무료Creator 요금제에서
활성화된 설치 항목
200
테스트된 버전
6.6
이 플러그인은 다운로드 가능하며 워드프레스 독립 호스트 설치에 사용할 수 있습니다.