2026年5月20日
2026年5月20日
WordPressの管理バーをフロントエンドで非表示にする方法
はじめに
WordPressにログイン中は画面上部に管理バー(ツールバー)が表示されます。フロントエンドのデザインを崩したくない場合や、一般ユーザーには非表示にしたい場合に管理バーを無効化できます。
全ユーザーの管理バーを非表示
// functions.php — 全ログインユーザーの管理バーを非表示
add_filter('show_admin_bar', '__return_false');
または管理画面から:
管理画面 → ユーザー → プロフィール
→「ツールバー: サイトを見るときにツールバーを表示する」のチェックを外す
ロール別に非表示
// functions.php — 管理者以外の管理バーを非表示
add_action('after_setup_theme', function() {
if (!current_user_can('edit_posts')) {
show_admin_bar(false);
}
});
特定ページのみ非表示
// functions.php — トップページのみ管理バーを非表示
add_action('after_setup_theme', function() {
if (is_front_page()) {
show_admin_bar(false);
}
});
CSSで視覚的に非表示(管理バー自体は保持)
// functions.php — CSSで管理バーを隠す(機能は維持)
add_action('wp_head', function() {
if (!current_user_can('manage_options') && is_user_logged_in()) {
echo '<style>#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
* html body { margin-top: 0 !important; }</style>';
}
});
管理バーのメニューをカスタマイズ
// functions.php — 管理バーからメニューを削除
add_action('admin_bar_menu', function($wp_admin_bar) {
// WordPressロゴメニューを削除
$wp_admin_bar->remove_node('wp-logo');
// 「+新規」メニューを削除
$wp_admin_bar->remove_node('new-content');
// コメントアイコンを削除
$wp_admin_bar->remove_node('comments');
}, 999);
管理バーにカスタムメニューを追加
// functions.php — 管理バーにカスタムリンクを追加
add_action('admin_bar_menu', function($wp_admin_bar) {
if (!is_user_logged_in()) return;
$wp_admin_bar->add_node([
'id' => 'my-site-link',
'title' => 'マイページ',
'href' => home_url('/my-account/'),
'meta' => ['class' => 'my-menu-item'],
]);
}, 999);
WP-CLIでユーザーごとに管理バー設定を変更
# 特定ユーザーの管理バーを無効化
wp user meta update {user_id} show_admin_bar_front 'false'
# 全ユーザーの管理バーを無効化
wp user list --field=ID | xargs -I {} wp user meta update {} show_admin_bar_front 'false'
注意事項
show_admin_bar(false)はafter_setup_themeフックで呼び出してください- 管理バーを非表示にするとフロントエンドでの編集ショートカットも使えなくなります
- CSSで非表示にする場合は
html { margin-top: 0 !important; }も必ず追加してください
まとめ
最も簡単な方法は add_filter('show_admin_bar', '__return_false') の1行です。ロール別に制御するには after_setup_theme フック内で current_user_can() を使って show_admin_bar(false) を呼び出してください。