2026年9月17日
2026年9月17日
WordPressのナビメニューが表示されない場合
はじめに
この記事では、WordPressサイトでナビゲーションメニューが表示されないという問題の解決方法を紹介します。ナビゲーションメニューは、ユーザーがサイト内を容易に移動できるようにする重要な要素です。
症状・背景
- メニューページを編集しても変更が反映されない。
- テーマ切り替え後やプラグインの追加後に表示されなくなる。
- フロントエンドでメニュー項目が見つからない。
- 通常は問題なく動作していたが、最近になって表示されなくなった。
手順・設定方法
ステップ1: メニューデータを確認する
# WordPressデータベースに接続してwp_termsテーブルを確認します。
mysql -u [DB_USER] -p [DB_NAME]
SHOW TABLES LIKE 'wp_terms';
# wp_term_taxonomyテーブルからmenuのidを取得します。
SELECT * FROM `wp_term_taxonomy` WHERE taxonomy = 'nav_menu';
ステップ2: メニューオブジェクトを確認する
# wp_postsテーブルからメニューのオブジェクト(post_typeが'nav_menu_item')を確認します。
SELECT * FROM `wp_posts` WHERE post_type = 'nav_menu_item';
ステップ3: テーマとテンプレートファイルの検証
# テーマディレクトリ内のfunctions.phpにナビゲーションメニューが登録されているか確認します。
cat wp-content/themes/[THEME_NAME]/functions.php | grep register_nav_menu;
# ヘッダーやフッター用テンプレートファイル内でwp_nav_menu関数が呼ばれているか確認します。
grep -r 'wp_nav_menu' wp-content/themes/[THEME_NAME];
ステップ4: プラグインとの干渉を確認する
# デバッグモードをオンにし、プラグインのエラーをログに出力します。
echo "define('WP_DEBUG', true);" >> wp-config.php;
# ロギング用プラグインやwp_debug_log関数を使用して問題箇所を特定します。
grep -r 'error' wp-content/debug.log;
注意事項
- WordPressの最新版にアップデートしておくと、多くのバグが修正されています。
- 外部から直接データベースを操作する際はバックアップを取っておくことが重要です。
- 互換性のあるテーマやプラグインを使用し、コンフリクトを避けるようにします。
- テスト用環境で問題の再現と解決策の検証を行うことを推奨します。
まとめ
1. データベースの確認: メニューデータが正しく登録されているかを確認します。
2. テンプレートファイルのレビュー: ナビゲーションメニューが呼び出されるテンプレートファイルを探し、問題がないことを確認します。
3. プラグインとの干渉のチェック: プラグインが問題を引き起こしていないか調査します。
4. アップデートとバックアップ: WordPressの最新版に更新し、データベースのバックアップは定期的に行います。
関連記事: