[WP] 워드프레스 포스트에 사진의 EXIF 정보 플러그인

포스트 내용 중에 포함된 사진의 EXIF 정보를 출력하기 위해 테마 파일에 추가했던 코드를 따로 빼서 플러그인으로 만들었다. 워드프레스 플러그인은 이번이 처음이라 제대로 한 것인지 자신은 없지만 일단 나중을 위해서라도 기록해두는 것이 좋을 듯 하여 포스팅한다.

이름은 대충 post-exif-info 라고 했다. 아래는 플러그인 파일의 코드이다.

<?php

/**
 * @package Post EXIF Info
 * @version 1.0
 */
/*
Plugin Name: Post EXIF Info
Plugin URI: https://ncube.net/
Description: This plugin prints exif infomation of photos in post.
Author: Seongho Jang
Version: 1.0
Author URI: https://ncube.net/
*/

require ( plugin_dir_path( __FILE__ ) . '/exif.lib.php' );

// Register style sheet.
add_action( 'wp_enqueue_scripts', 'register_exif_info_style', 100 );

/**
 * Register style sheet.
 */
function register_exif_info_style() {
    wp_register_style( 'post-exif-info', plugins_url( 'post-exif-info/style.css' ) );
    wp_enqueue_style( 'post-exif-info' );
}

add_filter ('the_content', 'print_exif_info', 100);

플러그인 : post-exif-info.zip

사용하는 테마에 따라서 사진의 EXIF 정보가 출력되지 않는 경우가 있을 수 있는데 이럴 경우 플러그인 exif.lib.php 파일의 get_post_photos 함수 중 아래 코드의 패턴을 수정해야 한다.

$pattern = '#<a href="([^"]+)"[^>]+><img[^>]+></a>#is';

워드프레스 플러그인 개발은 좀 더 살펴보고 싶다는 생각이 든다.

 

2017.11.15 추가
ngx_pagespeed 모듈을 서버에 적용했더니 위의 정규식 $pattern 형태가 일치하지 않아 아래처럼 $pattern 값을 아래처럼 변경

$pattern = '#<a href="([^"]+)"[^>]*>.*<img[^>]+></a>#i';

pagespeed 모듈의 설정을 변경하면 또 이래야할 것 같은데.. 큰 일이다.

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.