
メモ程度に。3.3.1対応です。
Wロゴを削除する
Wロゴとその下層の「WordPressについて」「WordPress.org」などのメニューは wp-includes/admin-bar.php の関数 wp_admin_bar_wp_menu で定義されています。他のメニューもこのファイルに記載されています。
$wp_admin_bar->add_menu( array(
'id' => 'wp-logo',
'title' => '<span class="ab-icon"></span>',
'href' => admin_url( 'about.php' ),
'meta' => array(
'title' => __('About WordPress'),
),
) );
このようにグローバル関数 $wp_admin_bar から WP_Admin_Bar クラスのメソッド add_menu を使ってメニューを定義しています。wp_admin_bar_wp_menu 関数は同じく WP_Admin_Bar クラスのメソッド add_menus 内でアクションフック admin_bar_menu にフックされています。
add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );
したがって、これ以降のタイミングで同様に admin_bar_menu フックでメニューを取り除けばOKです。メニューを取り除くには remove_menu メソッドを使います。結果的にこのようなコードになりました。
function my_admin_bar_custom( $wp_admin_bar ) {
$wp_admin_bar->remove_menu( 'wp-logo' );
}
add_action( 'admin_bar_menu', 'my_admin_bar_custom', 15 );
Wメニュー削除前

Wメニュー削除後

独自メニューを追加する
メニューの追加の仕方も、 admin-bar.php を見れば簡単でした。参考に作ってみたメニューがこちら
function my_admin_bar_additional( $wp_admin_bar ) {
$wp_admin_bar->add_menu( array(
'id' => 'my-menu',
'title' => '追加メニュー',
'href' => '#'
) );
$wp_admin_bar->add_menu( array(
'parent' => 'my-menu',
'id' => 'my-menu-sub',
'title' => '下層メニュー',
'href' => '#'
) );
}
add_action( 'admin_bar_menu', 'my_admin_bar_additional', 100 );
表示順は100なので、80の編集ボタンの次に表示されます。

WordPressも最近の追加機能はクラス設計されているので、すごく使いやすいですね。
ツールバーをカスタマイズすることで、例えばカスタムヘッダーなどデフォルトのテーマ追加機能以外の機能を追加した際に、そこへのリンクをツールバーに足すことができます。あとは、いつも使うプラグインの管理画面へのショートカットを追加したりとか、色々便利な使い途はありそうです。
関連する記事:
- #WordPress ネットワーク内の別ブログの新着情報を表示するウィジェット
- #WordPress マルチサイトネットワーク内の全ブログの新着記事を表示する方法
- WordPressのパンくずナビゲーション(Breadcrumb NavXT)をカスタマイズする
- 実は便利!ショートコードを自作してみよう #WordPress
- WordPressで複数のカスタム属性をミックスしたタグクラウドを表示する
関連記事はYARPP関連記事プラグインによって表示されています。
