예를 들어, 테마 소스 파일이나 플러그인 소스 파일을 직접 수정하지 않고 워드프레스 알림판에서 값을 입력하여 전달하고 싶은 경우가 있을 수 있습니다. 개인적으로 사용하는 경우에는 "워드프레스 일반 설정에 사용자 입력 텍스트 필드 추가하기"에서 소개한 방법이 제일 간단할 것 같습니다.
플러그인 옵션 페이지를 만들어서 알림판에서 설정 아래에 표시하고 싶은 경우 워드프레스 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이라는 플러그인이 있습니다.
하지만 위의 플러그인은 업데이트가 제대로 이루어지지 않아서 일부 기능(예: 커스텀 포스트 타입 선택 상자 등)이 제대로 작동하지 않을 수 있습니다.
댓글 남기기