PHP
WordPress

WordPressで管理バー(wp_admin_bar)で項目別に非表示する方法

WordPressの管理画面の上部に表示される、wp_admin_barですが、管理者で表示されるの良いんですが、実際つかうエンドユーザー(投稿や編集者権限)に表示されるのは、なんとなく嫌なので、いつも非表示にしています。

で、いつも非表示にするときググるのでいい加減メモを残そうと思い、本投稿をします。

早速ですが、サンプルソースを。


サンプルソース

functions.phpに以下を記載する。

/**

* wp管理バーの削除します。
*/

function my_remove_adminbar_menu( $wp_admin_bar ) {
$wp_admin_bar->remove_menu( 'wp-logo' ); // WPロゴ
$wp_admin_bar->remove_menu( 'site-name' ); // サイト名
$wp_admin_bar->remove_menu( 'view-site' ); // サイト名 -> サイトを表示
$wp_admin_bar->remove_menu( 'dashboard' ); // サイト名 -> ダッシュボード (公開側)
$wp_admin_bar->remove_menu( 'themes' ); // サイト名 -> テーマ (公開側)
$wp_admin_bar->remove_menu( 'customize' ); // サイト名 -> カスタマイズ (公開側)
$wp_admin_bar->remove_menu( 'comments' ); // コメント
$wp_admin_bar->remove_menu( 'updates' ); // 更新
$wp_admin_bar->remove_menu( 'view' ); // 投稿を表示
$wp_admin_bar->remove_menu( 'new-content' ); // 新規
$wp_admin_bar->remove_menu( 'new-post' ); // 新規 -> 投稿
$wp_admin_bar->remove_menu( 'new-media' ); // 新規 -> メディア
$wp_admin_bar->remove_menu( 'new-link' ); // 新規 -> リンク
$wp_admin_bar->remove_menu( 'new-page' ); // 新規 -> 固定ページ
$wp_admin_bar->remove_menu( 'new-user' ); // 新規 -> ユーザー
$wp_admin_bar->remove_menu( 'my-account' ); // マイアカウント
$wp_admin_bar->remove_menu( 'user-info' ); // マイアカウント -> プロフィール
$wp_admin_bar->remove_menu( 'edit-profile' ); // マイアカウント -> プロフィール編集
$wp_admin_bar->remove_menu( 'logout' ); // マイアカウント -> ログアウト
$wp_admin_bar->remove_menu( 'search' ); // 検索 (公開側)
}
add_action('admin_bar_menu', 'my_remove_adminbar_menu', 201);


サンプルソース(管理者権限を除く)

functions.phpに以下を記載する。

なんとなく、管理者権限(自分ですよね)は、すべて表示された方が気持ちいいです。

/**

* wp管理バーの削除します。
*/

function my_remove_adminbar_menu( $wp_admin_bar ) {
if ( current_user_can( 'administrator' ) ) {
return; // リターンさせちゃいましょう
}
  // 以下、省略
}
add_action('admin_bar_menu', 'my_remove_adminbar_menu', 201);


まとめ

これでコピペでいける。ググる時間短縮です!

参考URL

【WordPress】管理バー(admin bar)のメニュー項目を削除する方法 | よしあかつき

https://yosiakatsuki.net/blog/remove-menu-admin-bar/