WordPress 管理画面上部のメニュー wpadminbar に独自のリンクを追加する場合は admin_bar_menu をフックする

スポンサーリンク

WordPress 管理画面上部のメニュー(アドミンバー:HTML の id = wpadminbar)箇所に独自のリンクを設定するには、アクションフック admin_bar_menu を使用すると実現できます。

以下は、WordPress 管理画面上部のメニューに 猫の絵文字を挿入し、猫にマウスオーバーした際に、投稿・カスタム投稿タイプ( xxxxx )・パターン(再利用ブロック)・メディアへのリンクを追加している例です。

WordPress バージョン 6.4.2 にて確認しています。functions.php を編集する際はバックアップを行ってから作業することをお勧めします。

function ictyorozu_customize_admin_bar_menu($wp_admin_bar) {
	$wp_admin_bar->add_menu(array(
		'id'   => 'dashboard_customize_admin_bar_menu',
		'title'  => __( '🐱', 'text_domain' )
	));
	$wp_admin_bar->add_menu(array(
		'parent' => 'dashboard_customize_admin_bar_menu', // 親メニューID
		'id'   => 'dashboard_customize_admin_bar_menu_post_list', // 子メニューID
		'title'  => __( '投稿', 'text_domain' ),
		'href'   => admin_url('edit.php')
	));
	$wp_admin_bar->add_menu(array(
		'parent' => 'dashboard_customize_admin_bar_menu',
		'id'   => 'dashboard_customize_admin_bar_menu_free_list', 
		'title'  => __( 'カスタム投稿タイプ', 'text_domain' ),
		'href'   => admin_url('edit.php?post_type=xxxxx’)
	));
	$wp_admin_bar->add_menu(array(
		'parent' => 'dashboard_customize_admin_bar_menu',
		'id'   => 'dashboard_customize_admin_bar_menu_wp_block',
		'title'  => __( 'パターン', 'text_domain' ),
		'href'   => admin_url('edit.php?post_type=wp_block')
	));
	$wp_admin_bar->add_menu(array(
		'parent' => 'dashboard_customize_admin_bar_menu',
		'id'   => 'dashboard_customize_admin_bar_menu_media',
		'title'  => __( 'メディア', 'text_domain' ),
		'href'   => admin_url('upload.php')
	));
}
add_action('admin_bar_menu', 'ictyorozu_customize_admin_bar_menu', 10000);

上記のコードをアップロードすると、WordPress 管理画面上部に独自のメニューが追加されました。

admin_bar_menu フック例

admin_bar_menu をフックすると、WP_Admin_Bar クラスの $wp_admin_bar インスタンスを引数で受け取ることができますので、$wp_admin_bar->add_menu で親となるメニューを追加し、その親の id を子メニューの parent に指定して追加する、というような処理を行っています。

上記では admin_bar_menu をフックする際に 10000 という優先度を指定していますが、この優先度に指定する数字によって、メニューの表示位置が変わります。

テーマやプラグインの導入状況により、メニューの表示位置はそれぞれ異なりますので、優先度は実際に手を動かし調整してみてください。

以上、簡単ですが、WordPress 管理画面上部のメニュー wpadminbar に独自のリンクを追加する方法について記載しました。

アクションフック admin_bar_menu については以下の WordPress 公式ドキュメントも合わせてご確認ください。

参考情報
admin_bar_menu – Hook | Developer.WordPress.org

余談となりますが、WordPress テーマ Cocoon の管理メニューにリンクを追加することについても記事を書いています( Cocoon の id は dashboard_menu )。

WordPress Cocoonのadmin-barの管理メニューにカスタム投稿タイプのリンクを追加する

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