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>
显示效果如下: