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