2026年7月9日
2026年7月9日
WordPressの管理バー(ツールバー)が表示されない問題を解決する方法
はじめに
ログインしているにもかかわらずフロントエンドに管理バー(黒いツールバー)が表示されない場合、ユーザープロフィール設定・テーマのCSS上書き・show_admin_barフィルターの誤設定が原因です。
症状・原因
- ログイン状態でもサイト上部に管理バーが出ない
- 管理バーが非表示になるCSSがテーマに含まれている
functions.phpにadd_filter('show_admin_bar', '__return_false')が残っている- ユーザーのプロフィール設定で「管理バーを表示する」がオフになっている
解決手順
ステップ1:ユーザープロフィール設定を確認する
管理画面での確認手順:
1. WordPress管理画面にログイン
2. 右上のユーザー名 → 「プロフィール」をクリック
3. 「ツールバー」セクションを確認
4. 「サイトを見るとき、ツールバーを表示する」にチェックが入っているか確認
5. チェックを入れて「プロフィールを更新」をクリック
# WP-CLI でユーザーの show_admin_bar_front メタを確認
wp user meta get 1 show_admin_bar_front
# 管理バーを有効化
wp user meta update 1 show_admin_bar_front true
# 全ユーザーの管理バー設定を一括更新
wp user list --field=ID | while read uid; do
wp user meta update $uid show_admin_bar_front true
done
ステップ2:functions.php の設定を確認する
// functions.php に以下のコードがないか確認
// ❌ これが原因で管理バーが非表示になる
add_filter('show_admin_bar', '__return_false');
// ✅ 削除するか、管理者のみに限定する
add_filter('show_admin_bar', function(bool $show): bool {
return current_user_can('administrator') ? true : $show;
});
# functions.php と子テーマの functions.php を検索
grep -r "show_admin_bar" /var/www/html/wp-content/themes/
grep -r "show_admin_bar" /var/www/html/wp-content/plugins/
# WP-CLI で確認
wp eval "var_dump(is_admin_bar_showing());"
ステップ3:テーマのCSSで非表示になっていないか確認する
/* テーマのCSSに以下のような記述がないか確認 */
/* ❌ これが原因で管理バーが隠れる */
#wpadminbar {
display: none !important;
}
/* または */
.admin-bar #wpadminbar {
visibility: hidden;
}
// functions.php: テーマのCSS上書きを打ち消す
add_action('wp_head', function(): void {
if (is_admin_bar_showing()) {
echo '<style>#wpadminbar { display: block !important; }</style>';
}
});
# ブラウザの開発者ツール(F12)で確認
# 要素パネルで #wpadminbar を検索
# display: none が適用されているか確認
# 適用されている場合は「スタイル」タブでどのCSSファイルが原因か特定
ステップ4:wp_body_open の実装を確認する
// テーマに wp_body_open() が実装されていないと
// 管理バーが正しく表示されない場合がある
// header.php の <body> タグの直後に追加
?>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?> <!-- ← この行が必要 -->
// functions.php: wp_body_open のサポートを宣言
add_action('after_setup_theme', function(): void {
add_theme_support('wp-block-styles');
// wp_body_open のサポートは WordPress 5.2 以降で自動対応
});
// header.php に wp_body_open() がない古いテーマの場合
// wp_body_open アクションを手動でトリガーするフィルター
add_filter('body_class', function(array $classes): array {
return $classes;
});
ステップ5:プラグインとキャッシュの影響を確認する
# キャッシュをクリアして再確認
wp cache flush
wp transient delete --all
# キャッシュプラグインのページキャッシュもクリア
# W3 Total Cache
wp w3-total-cache flush all
# WP Super Cache
wp eval "if (function_exists('wp_cache_clear_cache')) wp_cache_clear_cache();"
# プラグインを無効化して管理バーが表示されるか確認
wp plugin deactivate --all
# ブラウザで確認後、1つずつ有効化
// 管理バーのスタイルが正しく読み込まれているか確認
// ブラウザのソースに以下が含まれているか確認
// <link rel='stylesheet' id='admin-bar-css' ...>
// もし含まれていない場合は wp_head() の呼び出しを確認
// header.php の </head> の前に wp_head() があるか確認
wp_head(); // ← これがないと管理バーのCSSが読み込まれない
注意事項
- ページキャッシュが有効な場合、ログイン状態であってもキャッシュされたページが表示され管理バーが出ないことがあります。キャッシュプラグインの設定で「ログイン中のユーザーにはキャッシュを使わない」オプションを有効にしてください
- テーマの
header.phpにwp_head()とwp_body_open()の両方が含まれていることを確認してください。どちらかが欠けていると管理バーのスクリプトやスタイルが読み込まれません
まとめ
管理バー非表示の解決は①ユーザープロフィールの「ツールバーを表示する」チェックを確認・wp user meta update 1 show_admin_bar_front trueで有効化、②grep -r "show_admin_bar" wp-content/で__return_falseフィルターを特定・削除、③ブラウザのF12で#wpadminbar { display: none !important }を探しCSSの競合を解消、④header.phpにwp_head()とwp_body_open()があるか確認、⑤キャッシュプラグインの「ログイン中ユーザーにキャッシュを使わない」設定を有効化します。