<code> add_action('admin_menu', 'register_custom_menu_page'); function register_custom_menu_page() { add_menu_page('ページのタイトルタグの内容', 'メニュー上のタイトル', 'administrator', 'custom_menu,'myfunc'); } function myfunc(){ //何々 } </code>
add_menu_pageは実際は第6、第7パラメータがあり、それぞれアイコンとメニューの位置を決められる。
省略すれば一番下に来るので、普通に使うにはこれでいいだろう。
もちろん、保存する以外に何かをしたければ、そのためのルーチンを書く必要がある。
<code> <pre class="syntax HTML"><div class="wrap"> <h2>Your Plugin Name</h2> <!-- 投稿先はoptions.php!--> <form method="post" action="options.php"> <!-- お約束のnonce!--> <?php wp_nonce_field('update-options'); ?> <table class="form-table"> <tr valign="top"> <th scope="row">New Option Name</th> <td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td> </tr> <tr valign="top"> <th scope="row">Some Other Option</th> <td><input type="text" name="some_other_option" value="<?php echo get_option('some_other_option'); ?>" /></td> </tr> <tr valign="top"> <th scope="row">Options, Etc.</th> <td><input type="text" name="option_etc" value="<?php echo get_option('option_etc'); ?>" /></td> </tr> </table> <!--この2行が肝心!--> <input type="hidden" name="action" value="update" /> <input type="hidden" name="page_options" value="new_option_name,some_other_option,option_etc" /> <p class="submit"> <input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> </p> </form> </div> </pre></code>
例えば、単純な値の出し入れ(text,select,radio etc)ならばこのまま使えるが、チェックボックスを使って複数の選択肢をコントロールしたい場合・・・値のクリアやシリアライズの処理をしなくてはいけないので、それは自前で実装する必要がある。あるいはフックを使ってうまく処理するか(未確認)。
コメント