WPの管理画面にオプションページを作る

毎度の作業なのでまとめておく。

Codexからのコピペ+αです。詳しい内容はCodexをどうぞ。

実は、結構悩むのが管理メニューのところ。引数が多いし、トップレベルメニューとサブメニューにしたい場合では引数が違う。
トップとサブメニュー両方作りたいときは、サブメニューとトップレベルメニューの内容を揃えておく、など。
こういうのはサクッと実装したいですね。





// create custom plugin settings menu
add_action('admin_menu', 'baw_create_menu');

//メニューを作ってくれる
function baw_create_menu() {

	//create new top-level menuトップレベルメニューならここ
	add_menu_page('BAW Plugin Settings', 'BAW Settings', 'administrator', __FILE__, 'baw_settings_page',plugins_url('/images/icon.png', __FILE__));

	//サブメニューならこんな感じ。これはツールメニューの下に作ります
add_submenu_page("tools.php", "BAW Settings","BAW Settings", 'administrator',"baw_settings","baw_settings_page");

	//call register settings function
	add_action( 'admin_init', 'register_mysettings' );
}

//設定そのものをしてくれる部分
function register_mysettings() {
	//register our settings
	register_setting( 'baw-settings-group', 'new_option_name' );
	register_setting( 'baw-settings-group', 'some_other_option' );
	register_setting( 'baw-settings-group', 'option_etc' );

//ここに何かの追加処理を加えても良い。データはPOSTから取得する。
}

//設定ページの内容
function baw_settings_page() {
?>

Your Plugin Name

New Option Name
Some Other Option
Options, Etc.

コメント

タイトルとURLをコピーしました