
今回は、Wordpressの管理バー(アドミンバー)に、独自のメニューを追加するカスタマイズ方法です。
管理バーというのは、管理者がWordpressにログインしているときに、ページ上部に出る以下のようなツールバーのことです。

この、管理ツールバーに、独自のメニューを追加するカスタマイズをします。

従来の、管理ツールバーには、ないメニューも追加することができます。
目次
独自メニューを追加するカスタマイズ方法
WordPressの管理ツールバーに、独自のメニューを追加するには、結構単純です。
functions.phpに以下のように記入することで、メニューを作成することができます。
//管理ツールバーにメニュー追加
function customize_admin_bar_menu($wp_admin_bar){
//バーにメニューを追加
$title = sprintf(
'<span class="ab-label">%s</span>',
'管理メニュー'//親メニューラベル
);
$wp_admin_bar->add_menu(array(
'id' => 'dashboard_menu',
'meta' => array(),
'title' => $title
));
//サブメニューを追加
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-dashboard', // 子メニューID
'meta' => array(),
'title' => 'ダッシュボード', // ラベル
'href' => home_url('/wp-admin/') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-singles', // 子メニューID
'meta' => array(),
'title' => '投稿一覧', // ラベル
'href' => home_url('/wp-admin/edit.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-pages', // 子メニューID
'meta' => array(),
'title' => '固定ページ一覧', // ラベル
'href' => home_url('/wp-admin/edit.php?post_type=page') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-medias', // 子メニューID
'meta' => array(),
'title' => 'メディア一覧', // ラベル
'href' => home_url('/wp-admin/upload.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-themes', // 子メニューID
'meta' => array(),
'title' => 'テーマ', // ラベル
'href' => home_url('/wp-admin/themes.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-customize', // 子メニューID
'meta' => array(),
'title' => 'カスタマイズ', // ラベル
'href' => home_url('/wp-admin/customize.php?return=%2Fwordpress%2Fwp-admin%2Fthemes.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-widget', // 子メニューID
'meta' => array(),
'title' => 'ウィジェット', // ラベル
'href' => home_url('/wp-admin/widgets.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-nav-menus', // 子メニューID
'meta' => array(),
'title' => 'メニュー', // ラベル
'href' => home_url('/wp-admin/nav-menus.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-theme-editor', // 子メニューID
'meta' => array(),
'title' => 'テーマの編集', // ラベル
'href' => home_url('/wp-admin/theme-editor.php') // ページURL
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-plugins', // 子メニューID
'meta' => array(),
'title' => 'プラグイン一覧', // ラベル
'href' => home_url('/wp-admin/plugins.php') // ページURL
));
}
add_action('admin_bar_menu', 'customize_admin_bar_menu', 9999);
関数内でやっている事は単純で、まずはトップメニューを追加します。
//バーにメニューを追加
$title = sprintf(
'<span class="ab-label">%s</span>',
'管理メニュー'//親メニューラベル
);
$wp_admin_bar->add_menu(array(
'id' => 'dashboard_menu',
'meta' => array(),
'title' => $title
));
あとは、よく使うサブメニューを以下のように関数内に追加していくだけです。
//サブメニューを追加
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => '[サブメニューID]',
'meta' => array(),
'title' => '[サブメニューラベル]',
'href' => home_url([ページのURL]')
));
基本的に、上記のコードをコピペで追加して、サブメニューID、サブメニューラベル、ページのURLを変更して、サブメニューをどんどん追加していくことができます。
参考 ダッシュボードの使い勝手を向上させるカスタマイズTIPS 10|ウェビメモ
動作確認
通常の管理バーにあるメニューはこんな感じです。

今回のカスタマイズを実装すると、以下のように独自のメニューと、サブメニューが管理ツールバーに追加されます。

通常の、管理バーのメニューでは、一発で移動できない「投稿一覧」や「固定ページ一覧」や「メディア一覧」、やその他いろいろのページに、好きなように移動できるよう設定することができます。
まとめ
僕はこれまで、投稿ページ一覧などに移動するときは、管理ツールバーから、一旦ダッシュボードに入ってから、「投稿→投稿一覧」とマウスを動かして一覧ページに移動していました。
今回の、カスタマイズを行うことで、投稿一覧ページに移動するのに、マウス操作にするとワンクリック、時間にして3秒から10秒ぐらいの時間短縮になります。
「管理バーを多用してWordpress管理を行っている」なんて場合は、結構作業効率が良くなるカスタマイズ方法だと思います。