[WP]管理ページに任意のメニューとページを追加する

デフォルトテーマはヘッダのグラデーションがテーマ内のタブから変更出来るようになってます。

テーマのオプションページ

管理ページのメニューやページの追加も、テーマのfunction.phpから可能です。

テーマのサブメニューとページを追加

テーマの説明とかオプション設定とかで使える。

テーマのサブメニュー

add_action('admin_menu','sample_theme_page');

function sample_theme_page(){
	add_theme_page('sample','Sample','edit_themes', basename(__FILE__),'sample_page');
}

function sample_page(){
?>
<div class="wrap">
<p>This is sample.</p>
</div>
<?php } ?>

管理メニューにメニューとページを追加

作成とか管理とかと同じ位置にメニューを追加する。テーマのとほぼ同じ。

管理ページにページを追加

add_action('admin_menu','sample_menu_page');

function sample_menu_page(){
	add_menu_page('sample','Sample','0', basename(__FILE__),'sample_page');
}

function sample_page(){
?>
<div class="wrap">
<p>This is sample.</p>
</div>
<?php } ?>

add_menu_page(ページタイトル, メニューのタイトル,表示するユーザレベルまたは能力, ファイル名, 実行する関数名);
add_theme_pageも同じ。
他には、add_options_page、add_management_page、add_submenu_pageなどがある。

表示するユーザレベルまたは能力については、ユーザレベル(0~10)か管理能力名(edit_themes等)で指定。

Docs:Adding Administration Menus

basename(__FILE__)だとfunctions.phpがページのURLになるので、2つ3つ追加する場合は名前を指定する。

インクルードも使える。

function sample_theme_page(){
	add_theme_page('sample','Sample','edit_themes', 'sample','sample_page');
}
function sample_page(){
include('sample.php');
}

スタイルシートを追加する場合は次のようにする

add_action('admin_menu','sample_theme_page');

function sample_theme_page(){
	add_action('admin_head', 'sample_head');
	add_theme_page('sample','Sample','edit_themes', basename(__FILE__),'sample_page');
}
function sample_head(){?>
<style type="text/css" media="screen">
p {color:red;}
</style>
<?php
}
function sample_page(){
?>
<div class="wrap">
<p>This is sample.</p>
</div>
<?php } ?> 

1件のコメント

Leave a Comment.