simple-lightbox 添加exif信息
特别感谢 LXstar 小朋友帮我实现了lightbox 的exif效果,写在这里备忘,不过话说wordpress的插件功能确实普遍缺少exif功能,不知道为啥这么不受重视,lightbox2.60
在simple-lightbox的目录下functions.php末尾添加
function get_image_info($img) {
$exif = exif_read_data(''.$img.'', 0, true);
$exif_out = '器材: '.$exif[IFD0][Make].$exif[IFD0][Model]
.' 光圈: '.$exif[COMPUTED][ApertureFNumber]
.' 快门: '.$exif[EXIF][ExposureTime]
.' 焦距: '.$exif[EXIF][FocalLength].'mm'
.' ISO: '.$exif[EXIF][ISOSpeedRatings]
.' 拍摄日期: '.$exif[EXIF][DateTimeOriginal];
return $exif_out;
}
function add_exif_info($item, $key) {
return (object)array_merge((array)$item, array('exif' => get_image_info($key)));
}
在simple-lightbox的目录下controller.php中修改939-941行
// 修改前
foreach ( $this->media_items as $key => $props ) {
$this->media_items[$key] = $this->util->apply_filters('media_item_properties', (object) $props);
}
// 修改后
foreach ( $this->media_items as $key => $props ) {
$this->media_items[$key] = $this->util->apply_filters('media_item_properties', (object) $props);
$this->media_items[$key] = add_exif_info($this->media_items[$key], $key);
}
再继续添加显示的地方 simple-lightbox/themes/baseline/layout.html 27-42行
<div class="slb_data_content">
<div class="slb_data_desc">
{{item.exif}}
</div>
<span class="slb_data_title">
{{item.title}}
</span>
<span class="slb_group_status">
{{ui.group_status}}
</span>
<div class="slb_data_desc">
{{item.description}}
</div>
</div>
显示效果如下:
