WordPress管理ツールバーに独自メニューを追加するカスタマイズ方法

今回は、Wordpressの管理バー(アドミンバー)に、独自のメニューを追加するカスタマイズ方法です。

管理バーというのは、管理者が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管理を行っている」なんて場合は、結構作業効率が良くなるカスタマイズ方法だと思います。