WordPressのメニューが表示されない際の対処法完全ガイド!

【当ブログは、WordPressテーマ「SWELL」、 レンタルサーバー「ロリポップ! ハイスピードプラン」で運営しています。】

Webサイトを運営していて、メインナビゲーションが急に消えてしまうと大混乱ですよね。

「管理画面ではメニューを作っているのに、公開サイトに何も表示されない……」
「テーマを変えたらナビゲーションが丸ごと消えてしまったのですが、どうすれば……?」
「プラグインを入れてみたらメニュー欄が真っ白に。どこから手を付けていいかわかりません!」
「キャッシュ消したのに、なぜか反映されない……これって設定ミスですか?」

「記事を読んだらすぐ直したい」「専門知識がなくても対応できる方法を知りたい」という初心者のために、本記事では原因の特定から最終手段までを一挙に解説します。

  • どこをどうチェックすればいいのか
  • どの手順で進めれば効率よく解決できるのか
  • エラーが出たときの確認ポイント

など、一つひとつ丁寧にステップを追って説明しますので、ぜひ安心して読み進めてください!

なお、以下の記事では、WordPressのメニューについて初心者向けに詳しく解説していますので、あわせてご覧ください。

目次

まずは原因を把握する

テーマとWordPressの相性不一致

新しいテーマを導入した直後にメニューが消えた、という場合はテーマとWordPressのバージョンがかみ合っていないことが考えられます。

  • 古いテーマ:最新のWordPress関数に対応できず、メニュー位置が認識されない
  • 未完成テーマ:メニューを表示するコード(wp_nav_menu()など)がそもそも実装されていない

🔍 チェックポイント

  1. 管理画面>外観>テーマ で使用中のテーマ名と更新日を確認
  2. 他の公式テーマ(例:Twenty Twenty-Five)へ切り替えてメニュー欄が出るか試す

プラグイン同士の衝突

複数のプラグインを同時に入れていると、互いに同じ関数やフックを使ってぶつかり、メニュー表示に不具合を引き起こすことがあります。

  1. 全プラグインを一時停止
  2. 管理画面のメニュー欄を確認
  3. 問題が解消したら、ひとつずつ再有効化して原因特定 ✅

⚠️ ※特にキャッシュ系・セキュリティ系プラグインは要注意!

ブラウザやキャッシュプラグインの残留データ

ブラウザのキャッシュやキャッシュ系プラグインの古いデータが原因で、最新のメニュー設定が反映されないケースもあります。

スクロールできます
項目対処方法
ブラウザキャッシュCtrl(⌘)+F5 で強制リロード
キャッシュプラグインプラグインの「キャッシュクリア」機能を実行
CDN(外部配信)CDN管理画面でキャッシュ消去

ワンポイント:プライベートウィンドウ(シークレットモード)で表示を試すと、キャッシュ問題かどうかがひと目でわかります。

ユーザー権限の誤設定

ログインユーザーに「メニュー管理権限」がないと、そもそもメニュー編集画面自体が表示されません。

  • 編集者以下:メニュー編集権限なし
  • 管理者のみ:メニュー設定可能

👤 確認方法

  1. 管理者権限のアカウントで再ログイン
  2. 「外観>メニュー」が表示されるかチェック

必要ならば、管理者アカウントで「ユーザー>新規追加」から自分を管理者に設定し直しましょう。

サーバー/PHP設定の問題

サーバー側の設定不備も見落としがちです。特に以下を確認しましょう:

  • PHPバージョン:WordPress公式が推奨するバージョン以上か
  • ファイル権限wp-content/themes/ 以下に適切な読み書き権限(通常は755)
  • メモリ制限:複雑なテーマはメモリ不足で部分的に動作停止する場合あり

🔧 サーバー管理画面(cPanelなど)やホスティング会社のマニュアルを参考に設定を見直しましょう。

functions.phpなどに書いたカスタムコードのミス

自作のカスタマイズを加えた直後に不具合が起きた場合は、functions.php やテーマファイル内のコードがエラーを起こしている可能性があります。

  1. FTP/SFTPで functions.php をバックアップ
  2. 該当箇所をコメントアウトして再読み込み
  3. エラーが消えれば、記述ミス(セミコロン忘れ、フック名の誤字など)を疑う

📌 Tipエラーログwp-content/debug.log)を有効化すると、どのファイル・何行で止まっているかが分かりやすくなります。


以上のポイントを順に確認することで、初心者の方でも体系的に「メニューが表示されない」原因を突き止め、適切な対処ができるようになります。

ぜひ一つずつ試してみてください! 🚀

基本的なトラブルシューティング手順

プラグインを一括停止して再度有効化

  1. 管理画面の「プラグイン>インストール済みプラグイン」へ移動
  2. すべてのプラグインを選択して「停止」をクリック
  3. メニュー表示を確認
  4. 問題が解消したら、ひとつずつ有効化して原因プラグインを特定 🔎

ポイント:プラグイン数が多い場合は、半分ずつ停止→有効化して探すと時短になります!

ブラウザとサイトキャッシュを完全消去

以下の手順で、ブラウザとWordPressのキャッシュをまとめてクリアしましょう。

スクロールできます
対象操作方法
ブラウザキャッシュWindows: Ctrl + F5
Mac: ⌘ + Shift + R
キャッシュ系プラグインプラグイン設定画面の「キャッシュクリア」ボタンを実行
CDN/外部配信サービスCDN管理画面でキャッシュをパージ(消去)

ワンポイント:シークレットモード(プライベートウィンドウ)で開いて表示を確認すると、キャッシュ問題かどうかすぐに判断できます。

別テーマに切り替えて表示確認

  1. 管理画面の「外観>テーマ」で、公式テーマ(例:Twenty Twenty-Five)を選択
  2. 「有効化」をクリック
  3. メニュー欄が復活するかチェック
  • 復活した場合:現在のテーマに問題あり
  • 復活しない場合:テーマ以外の要因を探る

🔄 試す理由:テーマを変えるだけで、テーマ固有の不具合かどうかが瞬時に分かります。

管理画面の権限レベルを見直す

  • 管理者権限以外(編集者・投稿者など)ではメニュー編集権限がありません
  • 自分のユーザーが管理者になっているか確認し、必要なら権限変更または再作成を行いましょう
  1. 「ユーザー>あなたのプロフィール」で権限を確認
  2. 管理者権限を持つ別アカウントで再ログイン
  3. 「外観>メニュー」が表示されるか確認

👤 注意:権限変更は慎重に。不要なユーザーに管理権限を渡さないようにしましょう。

テーマ編集画面(外観>テーマファイルエディター)でコードをチェック

テーマのPHPファイルに直接編集を加えた場合、記述ミスでメニューが消えることがあります。

  • 確認箇所
    • header.phpfooter.php にある wp_nav_menu() の呼び出し
    • functions.php のフック(例:add_action('init', ...)
  • 手順
    1. テーマファイルエディターで該当ファイルを開く
    2. 該当コードをコメントアウトして保存
    3. メニューが戻るかテスト

🛠 Tip:編集前にファイルのバックアップを必ず取得してください。

サーバーのPHPバージョンやファイル権限設定を確認

サーバー環境が合わないと、テーマやプラグインが正常に動作しません。

  • PHPバージョン
    • WordPress推奨バージョン(例:PHP 7.4以上)を利用
    • サーバー管理画面やホスティング会社のダッシュボードで確認・変更
  • ファイル権限
スクロールできます
ディレクトリ推奨パーミッション
wp-content/themes/ 以下755
wp-content/plugins/ 以下755
PHPファイル(例:*.php)644

🔒 セキュリティ注意:権限を緩くしすぎると外部からの不正アクセスリスクが高まるため、必要最低限に留めましょう。


以上のステップを順に試すことで、初心者の方でも効率的にメニュー表示トラブルを解決できます。

困ったときはひとつずつ着実にチェックしてみてください!🚀

専用ツールを使った簡易診断・修復

User Role Editor:権限まわりを詳細に調整

User Role Editorは、ユーザー権限を細かくカスタマイズできるプラグインです。

  • インストール後、管理画面の「ユーザー>User Role Editor」から起動
  • 既存ロール(管理者・編集者など)を選び、メニュー編集権限(edit_theme_optionsのON/OFFを切り替え
  • 新規ロールの作成や、特定ユーザーだけにカスタム権限を付与することも可能

🔧 使い方のポイント

  1. まずは「Administrator」を開いて本当にすべての権限が付与されているか確認
  2. 問題が出ているユーザーにはカスタムロールを作成し、メニュー関連の権限を個別に追加
  3. 権限変更後は再ログインして動作をテスト

WP Reset:テスト環境をクリーンな状態に一括リセット

WP Resetは、データベースや設定を一気に初期化して問題箇所の切り分けを助けるツールです。

  • テストサイトやステージング環境で使うのが鉄則
  • リセット前には必ずスナップショット(バックアップ)を取得
スクロールできます
機能説明
Database Reset投稿・ページ・コメントを含むデータ全消去
.htaccess クリアサイトのリライトルールをデフォルトに復元
設定リセットテーマ・プラグイン設定を初期状態に戻す

🚀 実行手順

  1. 「ツール>WP Reset」へ移動
  2. スナップショットを作成
  3. 「サイトをリセット」のキーワードを入力して実行
  4. メニュー表示が戻るか確認

Theme Check:テーマの品質や互換性を自動点検

Theme Checkは、公式テーマ審査基準に基づいた自動テストを行い、メニュー関連の不備も拾い上げます。

  • テーマ作者や開発者向けだが、初心者でも“問題点の一覧”として活用可能
  • 要素不足やコードの非推奨API利用などをレポートで表示

チェックできる主な項目

  • 必須テンプレートファイルの有無(header.phpなど)
  • APIフックの適切な使用
  • セキュリティ/国際化対応

🔍 利用手順

  1. プラグインをインストール&有効化
  2. 「外観>Theme Check」を開き、現在のテーマを選択
  3. 「Run Test」をクリック
  4. 出力されたエラーや警告をもとに、テーマファイルを修正

これらのツールを使うことで、権限設定・環境リセット・テーマ品質チェックという3つの角度から、初心者でも効率的にメニュー表示トラブルを解消できます。

ぜひ試してみてください!🎉

管理画面そのものが見えないケースの追加対策

再ログインしてセッション情報をリフレッシュ

メニューどころか管理画面自体が真っ白…というときは、まずログアウト→再ログインを試しましょう。

  • 理由:WordPress はログイン情報をクッキーやセッションで管理しており、セッション切れや破損で画面が正常に表示されないことがあります
  • 手順
    1. 画面右上の「ログアウト」をクリック
    2. ブラウザを再起動
    3. 再度ログイン

🔄 ワンポイント:複数ブラウザをお使いなら、別のブラウザやプライベートウィンドウでログインを試すと原因切り分けがスムーズです。

データベースから管理者ユーザーを直接確認・修正

管理者権限が外れてしまった場合、WordPress 管理画面以外から権限を復活させます。

  1. phpMyAdminAdminer でデータベースにアクセス
  2. wp_users テーブルで管理者の user_loginID を確認
  3. wp_usermeta テーブルを開き、以下のレコードをチェック・修正
スクロールできます
テーブル名meta_keymeta_value
wp_usermeta<ID>_capabilitiesa:1:{s:13:"administrator";b:1;}
wp_usermeta<ID>_user_level10

⚠️ <ID> は該当ユーザーの数字(例:1)に置き換えてください。

  • 修正方法
    • meta_value が違う場合は上記の文字列に書き換え
    • レコードがなければ新規挿入

完了後、再ログインして「外観>メニュー」が表示されるか確認しましょう。

管理者権限のあるアカウントを再度作成または復旧

どうしても画面に入れないときは、functions.php に一時的なコードを追加して新しい管理者を作成できます。

// テーマの functions.php に貼り付け、動作確認後は必ず削除してください
function create_temp_admin(){
    $user = 'tempadmin';
    $pass = 'SecureP@ss123';
    $email = 'you@example.com';
    if ( !username_exists($user) ) {
        $user_id = wp_create_user($user, $pass, $email);
        $user = new WP_User($user_id);
        $user->set_role('administrator');
    }
}
add_action('init','create_temp_admin');
  • 手順
    1. FTP/SFTP で wp-content/themes/使用中のテーマ/functions.php を開く
    2. 上記コードを貼り付けて保存
    3. 管理画面にアクセスし、新規アカウント(ユーザー名:tempadmin)でログイン
    4. 復旧後、必ず functions.php から該当コードを完全に削除

🚨 セキュリティ注意:公開状態のまま放置すると不正ログインリスクがあるため、必ず復旧後に削除してください。


これらの追加対策を試せば、管理画面そのものが消えた状況でも確実に復旧できるはずです。

問題解決の手順として、上から順番に取り組んでみてください!🚀

まとめ

  • まずは焦らず原因の切り分け
    • テーマ・プラグイン・キャッシュ・権限…どこに問題があるか順番にチェック。
  • 基本の対処をしっかり実行
    • プラグイン停止→キャッシュクリア→別テーマ切替など、効果の高い手順を繰り返す。
  • 専用ツールやデータベース操作も活用
    • User Role Editorで権限を見直し、WP Resetでクリーン環境を作り、phpMyAdminで直接修正。
  • 最終手段はfunctions.phpで一時管理者を追加
    • 管理画面が見えない場合でも、新規管理者を作成して復旧可能。

この記事の手順を順に実践すれば、初心者の方でも安心してメニュー表示トラブルを解決できます。

ぜひ手元のサイトで一つずつ確認してみてください!🚀

目次