説明
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 フィルター |

コメント