管理画面のツールバーのメニューを削除・追加する方法

Cocoonカスタマイズ集
この記事は約3分で読めます。
記事内に広告が含まれています。

はじめに

ツールバー

管理画面上部に表示される「ツールバー(admin bar)」のメニューを削除・追加します(図1参照)。

この記事では、この方法について説明します。

メニュー構成とID一覧

表1にメニュー構造とそれぞれのメニューIDを示します。

メニュー構成とID一覧
#メインサブメニューID
1WordPressロゴwp-logo
WordPressについてabout
参加するcontribute
WordPress.orgwporg
ドキュメンテーションdocumentation
Lean WordPresslearn
サポートsupport-forums
フィードバックfeedback
2サイト名site-name
サイトを表示view-site
3コメントcomments
4新規new-content
投稿new-post
メディアnew-media
リンクnew-link
固定ページnew-page
ユーザーnew-user
5管理メニュー(Cocoon用)dashboard_menu
6こんにちはユーザーさんmy-account
プロフィールを編集user-info
ログアウトlogout

メニューを削除する方法

実装手順

以下のコードをfunctions.phpに追加します。

対象メニューIDを指定することで不要な項目を非表示にできます。

add_action('admin_bar_menu', function ($wp_admin_bar) {
  $wp_admin_bar->remove_node('wp-logo');
  $wp_admin_bar->remove_node('dashboard_menu');
}, 10000);

メニューを追加する方法

完成イメージ

実装手順

以下のコードをfunctions.phpに追加します。

add_action('admin_bar_menu', function ($wp_admin_bar) {
  // 親メニューを追加
  $wp_admin_bar->add_node([
    'id'     => 'custom-parent',            // 任意のID
    'title'  => 'カスタム親メニュー',       // タイトル
    'href'   => 'https://example.com/',     // リンクURL
  ]);

  // 子メニュー1を追加
  $wp_admin_bar->add_node([
    'parent' => 'custom-parent',            // 親メニューID
    'id'     => 'custom-child-1',
    'title'  => '子メニュー1',
    'href'   => 'https://example.com/',
  ]);

  // 子メニュー2を追加
  $custom_child2 = '<span style="color:orange;">子メニュー2</span>';
  $wp_admin_bar->add_node([
    'parent' => 'custom-parent',
    'id'     => 'custom-child-2',
    'title'  => $custom_child2,
    'href'   => 'https://example.com/',
  ]);
}, 31);

補足

既存のメニューにサブメニューを追加する場合、add_node()を呼び出した順に、既存のサブメニューの末尾に追加されます。
親メニューの表示位置は、admin_bar_menu()フックの第3引数(優先度)によって決まります。
また、titleには HTMLを含めることも可能です(図2参照)。

さいごに

今回紹介した方法を使えば、管理画面上部にあるツールバーのメニューを自由にカスタマイズできます。
不要な項目を削除したり、独自のリンクを追加したりすることで、管理画面の利便性を高めることができます。
特に頻繁に使う機能や外部ツールへの導線を追加することで、作業効率が向上するでしょう。

タイトルとURLをコピーしました