[WordPress]워드프레스 플러그인 개발(2)

 

출처 Taehan Lee
원문 http://urlless.com/wordpress-plugin-development/2/

2. 소개 / 준비

플러그인이란 응용프로그램을 확장/변경하기 위해 만드는 컴퓨터 프로그램을 말합니다.
워드프레스 역시 간편하게 플러그인을 설치하여 블로그의 기본 기능을 확장/변경할 수 있습니다. 워드프레스 온라인 메뉴얼에서는 워드프레스 플러그인에 대하여 아래와 같이 정의하고 있습니다.

 

“워드프레스 플러그인은 PHP 스크립트 언어로 작성된 프로그램 또는 함수(집합)로서, 블로그 기능과 서비스를 확장할 수 있다. 워드프레스 플러그인은 플러그인 API가 제공하는 ‘엑세스 포인트’와 ‘메서드’를 통해 블로그와 완벽하게 통합될 수 있다.”

코어 프로그램을 함부로 변경하게되면, 차후 여러가지 문제점에 직면할 가능성이 커집니다. 블로그의 기본 기능을 확장/변경하고자 한다면, 가능한 플러그인에서 답을 찾는 것이 옳습니다.
* 플러그인 정의에 언급한 ‘엑세스 포인트’와 ‘메서드’란… 이후 자세히 설명하게 될 Action과 Filter라는 Hook을 가르킵니다.

현재 워드프레스 웹사이트에 들어가보니 10,231개의 플러그인이 등록되어있네요. 하지만, 내 블로그에 꼭 맞는 플러그인이 없다면, 이 문서가 플러그인 개발에 도움이 될 것입니다.

 

2.1 플러그인 이름과 파일 이름 짓기

플러그인의 이름과 파일 이름을 지을 때에는 플러그인의 기능을 잘 표현하면서도, 다른 플러그인들의 이름과 중복되지않도록 유니크한 이름을 지어야할 것입니다.
- 플러그인 이름 짓기의 예: My Google Analyticator
- 파일 이름 짓기의 예: my-google-analyticator.php

 

2.2 플러그인 파일 위치

플러그인 기본 디렉토리인 wp-content/plugins/에 위치시킵니다. 파일이 여러개인 경우(readme.txt, php, image…) 아래 그림과 같이 서브디렉토리를 생성하여 그룹을 만드세요.

예: 위 그림은 “akismet”이라는 플러그인의 위치와 파일들을 보여주고 있다.

 

2.3 파일 헤더 작성

플러그인 PHP 파일 상단에 플러그인 정보를 반드시 작성해주어야 합니다. 워드프레스는 이 정보를 통해 플러그인의 존재를 인식하기 때문입니다. 파일 헤더는 아래와 같은 주석문으로 작성합니다.

<?php
 /*
 Plugin Name: Name Of The Plugin
 Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
 Description: A brief description of the Plugin.
 Version: The Plugin's Version Number, e.g.: 1.0
 Author: Name Of The Plugin Author
 Author URI: http://URI_Of_The_Plugin_Author
 License: A "Slug" license name e.g. GPL2
 */
 ?>

플러그인 파일에 헤더가 올바르게 작성되어있다면, 플러그인 관리페이지에 아래 그림과 같이 플러그인이 인식되며, 헤더에 작성한 정보들이 출력되고 있는 것을 알 수 있습니다.

 

2.4 Readme 파일 작성(선택)

플러그인 제작후 배포할 계획이 있다면, Readme 파일을 작성하여 플러그인 파일과 같은 폴더에 위치시켜야 합니다. 아래 그림과 같이 플러그인에 대한 자세한 정보를 사용자들에게 미리 알려주어야하기 때문입니다.

 

 

Readme 파일 작성시에는 표준 포멧을 따라야 하므로,
http://wordpress.org/extend/plugins/about/readme.txt를 참고하여 작성하세요.

 

2.5 라이센스(선택)

일반적으로 파일 헤더 정보에 함께 작성합니다. 대부분의 플러그인은 워드프레스가 사용하는 GPL2 또는 compatible with the GPL2 라이센스를 사용하고 있습니다. GPL2 라이센스를 사용하려 한다면 다음 라인을 플러그인에 포함하세요.

<?php
/* Copyright YEAR PLUGIN_AUTHOR_NAME (email : PLUGIN AUTHOR EMAIL)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
?>

Comment