WP_Admin_Bar クラスの使い方|説明・引数・注意点

説明

WP_Admin_Bar は、画面上部の管理バー(ツールバー)を扱うクラスです。項目の追加・削除ができます。

基本構文

global $wp_admin_bar

引数

  • add_node( $args ):項目を追加
  • remove_node( $id ):項目を削除
  • add_menu( $args ):メニューを追加

戻り値

admin_bar_menu フックで受け取ります。

使い方(サンプル)

add_action( 'admin_bar_menu', function( $bar ) {
	$bar->add_node( array(
		'id'    => 'my-link',
		'title' => 'マイリンク',
		'href'  => home_url( '/' ),
	) );
}, 100 );

注意点

  • 優先度を大きくすると、右側に追加されます。
  • 管理バーを非表示にする場合は show_admin_bar フィルターを使います。

実務での使いどころ

  • 管理バー(画面上部のバー)に、独自の項目を、追加・削除するとき(add_node()・remove_node())。
  • 管理バーの項目を、権限に応じて、整理するとき。

よくあるミスと対処

  • admin_bar_menu フックの外で、操作している。$wp_admin_bar が、まだ作られていない。
  • id を、他の項目と重ねている。
  • 管理バーそのものを、消したいだけなのに、項目を、1つずつ消している。表示は、show_admin_bar フィルターで制御する。

NG例

global $wp_admin_bar;
$wp_admin_bar->add_node( array( 'id' => 'my', 'title' => '独自' ) ); // フックの外で呼んでいる

OK例

add_action( 'admin_bar_menu', function ( $wp_admin_bar ) {
	$wp_admin_bar->add_node( array(
		'id'    => 'my-link',
		'title' => 'マニュアル',
		'href'  => 'https://example.com/manual/',
	) );
}, 100 );

使い分け早見表

やりたいこと 使うもの
管理バーに、項目を追加する $wp_admin_bar->add_node()
管理バーの項目を、削除する $wp_admin_bar->remove_node()
管理バーの表示を、切り替える show_admin_bar フィルター

関連項目

add_menu_page()、is_admin()

公式リファレンス:WP_Admin_Bar | WordPress Developer Resources

コメント

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