WordPressの管理画面のカスタマイズ

投稿日:2013年8月7日

WordPressを利用したシステムで、管理画面をカスタマイズしたい、という時があります。
今回は特に、管理画面の左側にあるメニュー部分のカスタマイズについてまとめました。

function.phpの任意の場所で、以下のように書くと管理画面で反映されます。

function.php


function customize_menu () {
  カスタマイズしたい内容
}
add_action('admin_menu', 'remove_menus');
  

そして、メニューの各項目には番号が振られていて、その番号順に並んでいます。これはグローバル変数 $menu に格納されています。

管理画面のメニュー


    [2] ダッシュボード
    [4] 【スペース】
    [5] 投稿
    [10] メディア
    [15] リンク
    [20] 固定ページ
    [25] コメント
    [59] 【スペース】
    [60] 外観
    [65] プラグイン
    [70] ユーザー
    [75] ツール
    [80] 設定
    [99] 【スペース】
  

さて、以上の前置きを頭に入れていただいて、肝心のカスタマイズするための書き方ですが、

1、追加系


add_menu_page('このメニューのリンク先ページタイトル', 'メニュー表示名', 'ユーザレベル',
  'メニューをクリックしたときの動作', 'コンテンツ表示関数', 'アイコンURL', '配置番号');
  

「コンテンツ表示関数」と「アイコンURL」は空でかまいません。「配置番号」は、グローバル変数 $menu での表示順の設定です。例えば、


add_menu_page('テストタイトル', 'テストメニュー', 10, 'test.php','' ,'' ,3);
  

のように書くことができます。
wp1

2、削除系


remove_menu_page('メニューのスラッグ');
  

「メニューのスラッグ」は、【そのメニューをクリックした先のURLの wp-admin/ 以降】、と設定されています。例えば、「固定ページ」を消したいのであれば、


remove_menu_page('edit.php?post_type=page');
  

のように書くことができます。

また、グローバル変数を用いて表示していることを利用して、

ダッシュボードを消す例


unset($menu[2]);
  

と書くこともできます。
wp2

3、変更系


$menu[2][0] = '最初のページだよ'; // ダッシュボートの名前変更
$menu[3] = $menu[20];  // 固定ページの場所移動
unset($menu[20]);
  

表示名を変更したいとか、位置を変更したい場合は、グローバル変数 $menu を利用すると楽です。
上記の変更の結果は以下の通りです。

wp3

南本貴之

関連記事

カテゴリー: PHP, WordPress
  • LINEスタンプ販売中!「カフィーノ♪」 BRISKオリジナル