[워드프레스] 플러그인 옵션 페이지 만들기

Last Updated: 2016년 12월 12일 댓글

예를 들어, 테마 소스 파일이나 플러그인 소스 파일을 직접 수정하지 않고 워드프레스 알림판에서 값을 입력하여 전달하고 싶은 경우가 있을 수 있습니다. 개인적으로 사용하는 경우에는 "워드프레스 일반 설정에 사용자 입력 텍스트 필드 추가하기"에서 소개한 방법이 제일 간단할 것 같습니다.

플러그인 옵션 페이지를 만들어서 알림판에서 설정 아래에 표시하고 싶은 경우 워드프레스 Codex 페이지의 "Creating Options Pages(옵션 페이지 만들기)" 글을 참고할 수 있습니다. 적절한 예제를 하나 복사하여 응용하는 것도 괜찮은 방법입니다.

간단한 플러그인 옵션 페이지를 만드는 방법으로 다음 글을 참고할 수 있습니다.

링크된 글을 참고로 간단한 텍스트 필드에 값을 입력하여 전달하는 플러그인을 만들어보았습니다. (코드를 그대로 복사하여 영문 부분만 한글로 바꾸었습니다.)

<?php
/*
Plugin Name: Test Plugin Options Plugin
Plugin URI: https://www.thewordcracker.com/
Description: Plugin Options
Version: 0.0.1
Author URI: https://www.thewordcracker.com/
*/
/* Start Adding Functions Below this Line */
function myplugin_register_settings() {
add_option( 'myplugin_option_name', '옵션 값입니다. 적절한 값으로 넣어주세요.');
register_setting( 'myplugin_options_group', 'myplugin_option_name', 'myplugin_callback' );
}
add_action( 'admin_init', 'myplugin_register_settings' );

function myplugin_register_options_page() {
add_options_page('페이지 제목', '플러그인 메뉴', 'manage_options', 'myplugin', 'myplugin_options_page');
}
add_action('admin_menu', 'myplugin_register_options_page');

function myplugin_options_page()
{
?>
<div>
<?php screen_icon(); ?>
<h2>내 플러그인 제목</h2>
<form method="post" action="options.php">
<?php settings_fields( 'myplugin_options_group' ); ?>
<h3>플러그인 옵션</h3>
<p>테스트 플러그인입니다. 여기에 플러그인 설명을 입력하면 됩니다.</p>
<table>
<tr valign="top">
<th scope="row"><label for="myplugin_option_name">옵션 입력:</label></th>
<td><input type="text" id="myplugin_option_name" name="myplugin_option_name" value="<?php echo get_option('myplugin_option_name'); ?>" /></td>
</tr>
</table>
<?php  submit_button(); ?>
</form>
</div>
<?php
} ?>

컴퓨터에서 폴더를 하나 만들고(예: /test-plugin) 위의 내용을 그대로 복사하여 파일을 하나 만들어 붙여넣기 합니다(예: options.php). 그런 다음 폴더를 통째로 zip 파일로 압축한 후에 워드프레스 알림판에서 일반 플러그인을 설치하듯이 설치하고 활성화해보면 설정 > 플러그인 메뉴라는 메뉴가 하나 생성됩니다.

간단한 기능을 추가하는 경우에 유용하게 사용할 수 있습니다. 예를 들어, disqus 관련 플러그인을 만들 때 disqus 쇼트네임(단축명)을 클라이언트가 직접 입력할 수 있는 입력 필드를 만들 수 있을 것입니다.

참고로 테마/플러그인 옵션을 만들 때 사용할 수 있는 플러그인으로 Whitelabel WordPress Theme & Plugin Options Panel이라는 플러그인이 있습니다.

하지만 위의 플러그인은 업데이트가 제대로 이루어지지 않아서 일부 기능(예: 커스텀 포스트 타입 선택 상자 등)이 제대로 작동하지 않을 수 있습니다.


댓글 남기기

Leave a Comment