워드프레스는 설치형 블로그툴로 요즘에는 블로그를 운영하는 목적뿐만 아니라


회사 홈페이지나 광고 사이트등 많은 사이트들의 CMS(콘텐츠 관리 시스템)로 쓰이고 있습니다.


워드 프레스는 뛰어난 확장성을 갖고 있기 때문에 플러그인이나, 테마등을 개발하여 적용하기 좋습니다.


따라서 많은 수의 테마와 플러그인이 개발되어 공개되고 있으며 좋은 품질의 테마같은 경우에는


유료로 돈을 주고 살 수 있는 경우도 있습니다.


이렇게 다양하게 확장할 수 있는 워드프레스 기능을 활용하여 admin 메뉴에 내 메뉴를 삽입하겠습니다



워드프레스에 관리자 기능이 있습니다. 여기에 워드프레스 관리를 위한 다양한 메뉴가 있습니다.


이 관리자 메뉴에 우리만의 관리자 메뉴를 추가하고 싶을 경우 어떻게 해야 할까요?


우선 플러그인 파일을 워드프레스 설치 디렉토리의 wp-content 디렉토리안으 plugins 폴더에 추가하셔야 합니다.


플러그인이 간단한 단일 php파일이라면 wp-content plugins 폴더에 바로 추가해도 좋지만 여러개의 파일이라면


디렉토리를 만들어서 추가하는 것이 좋습니다. wp-content\plugins에 wdm 이라는 디렉토리를 만들겠습니다.


그리고 wdm 디렉토리 밑에 plugin.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
*/
?>



<?php

/*

Plugin Name: 플러그인 이름

Plugin URI: 주소

Description: 플러그인 설명

Version: 0.1

Author: 제작자

Author URI: 주소

License: public domain

*/


function screen1() {

include('screen1.php');

}


function screen2() {

include('screen2.php');

}


function wdm_menu() {

// http://codex.wordpress.org/Function_Reference/add_menu_page

add_menu_page('추가메뉴', '추가메뉴', 10, 'menu1', 'screen1', '');


// http://codex.wordpress.org/Function_Reference/add_submenu_page

add_submenu_page('menu1', '서브메뉴', '서브메뉴', 10, 'menu2', 'screen2');

}


// http://codex.wordpress.org/Function_Reference/add_action

// admin_menu를 hook

add_action('admin_menu', 'wdm_menu');

?>




위처럼 작성하면 가장 위의 주석 부분을 워드프레스가 파싱하여 플러그인 목록에 보여줍니다.


plugins에서 plugin이 잘 추가됐는지 확인합니다.


그리고 우리가 추가한 plugin을 사용해야 하므로 active 합니다.


그러면 관리자 메뉴 중 가장 아래에 추가메뉴와 서브메뉴가 추가된 것을 확인할 수 있습니다.


코드를 설명하면 다음과 같습니다. 우선 가장 아래줄의 코드 의미를 봅시다.


add_action('admin_menu', 'wdm_menu'); 



이 코드는 admin_menu 즉 어드민 메뉴가 표현될 때 사용할 hook으로 wdm_menu라는 function을


사용하겠다는 의미입니다. 그러면 wdm_menu를 봅시다.


function wdm_menu() {

// http://codex.wordpress.org/Function_Reference/add_menu_page

add_menu_page('추가메뉴', '추가메뉴', 10, 'menu1', 'screen1', '');


// http://codex.wordpress.org/Function_Reference/add_submenu_page

add_submenu_page('menu1', '서브메뉴', '서브메뉴', 10, 'menu2', 'screen2');

}


add_menu_page를 통해 메뉴를 추가하고

add_submenu_page를 통해 서브메뉴를 추가합니다.


즉 add_action을 통해 admin_menu가 표현될때 wdm_menu라는 function을 사용하여


메뉴를 추가합니다.


메뉴 추가 함수의 자세한 사용법은 해당 함수 호출의 주석 부분의 url을 참고하세요.


또한 add_menu_page와 add_submenu_page를 통해 만든 메뉴를 클릭했을때


호출할 function으로 "screen1"과, "screen2"를 지정합니다. 


이렇게 하면 해당 메뉴를 클릭했을때 각각 screen1()과 screen2() 가 호출됩니다.


각 function을 봅시다.


function screen1() {

include('screen1.php');

}


function screen2() {

include('screen2.php');

}


추가메뉴를 클릭하면 screen1.php 를 포함하여 보여주고


서브메뉴를 클릭하면 screen2.php 를 포함하여 보여줍니다.


각 파일은 아직 올리지 않아서 에러가 나겠지만 필요한 기능을 php 파일에 구현하여 


같은 디렉토리에 올리면 admin의 메뉴에서 구현한 화면을 볼 수 있습니다.



'공부 > Wordpress' 카테고리의 다른 글

제작한 플러그인에 설정메뉴 넣기  (0) 2012.08.10
위젯 만들기  (0) 2012.08.10
루프문설명  (0) 2012.08.08
워드프레스 템플릿 기본구조 ㅡ  (0) 2012.08.06
워드프레스 page에 template  (0) 2012.08.03

+ Recent posts