🔧 トラブルシューティング
WordPressテーマ作成でよく遭遇する問題と解決方法をまとめました。エラーが出た時は、まずここで確認してみましょう。
テーマが表示されない・認識されない
❌ テーマ一覧に表示されない
問題: 管理画面の「外観」→「テーマ」にテーマが表示されない
原因:
- style.cssがない、またはテーマ情報が記述されていない
- フォルダの配置場所が間違っている
- テーマフォルダが
wp-content/themes/直下にあるか確認 - style.cssの最上部にテーマ情報(コメント形式)が記述されているか確認
- 少なくとも「Theme Name」が記述されているか確認
❌ テーマ画像が「No Image」と表示される
問題: テーマは認識されるが、サムネイル画像が表示されない
原因: screenshot.pngがない
解決方法:
解決方法:
- 1200px × 900pxの画像を用意
- ファイル名を「screenshot.png」にする(小文字)
- テーマフォルダの直下に配置
ページが真っ白になる(ホワイトスクリーン)
❌ テーマを有効化すると真っ白なページが表示される
問題: テーマ有効化後、サイトが真っ白になりエラーメッセージも表示されない
原因: PHPの致命的エラー(Fatal Error)
解決方法:
解決方法:
- デバッグモードを有効化: wp-config.phpに以下を追加
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', true);
- エラーログを確認:
wp-content/debug.logを開く - よくある原因:
- PHPタグの閉じ忘れ
<?php ... ?> - セミコロン(;)の抜け
- 全角スペースの混入
- 関数名のタイポ
- PHPタグの閉じ忘れ
❌ functions.phpを編集したら真っ白になった
問題: functions.phpの変更後、サイトが表示されなくなった
緊急対処法:
- FTPでサーバーに接続
- functions.phpをリネーム(例: functions.php.bak)
- サイトが復旧することを確認
- functions.phpを修正して再アップロード
- functions.phpの最後に
?>を書かない - ファイルの最後に余分な空白行を入れない
- 編集前に必ずバックアップを取る
スタイルが反映されない
❌ CSSを変更しても反映されない
問題: style.cssを編集したのに、サイトのデザインが変わらない
原因: ブラウザのキャッシュ
解決方法:
解決方法:
- スーパーリロード: Ctrl + Shift + R(Windows)/ Command + Shift + R(Mac)
- キャッシュクリア: ブラウザの設定からキャッシュを削除
- シークレットモードで確認: Ctrl + Shift + N で新しいウィンドウを開く
- バージョン番号を追加: functions.phpで
wp_enqueue_style('mytheme-style', get_stylesheet_uri(), array(), '1.0.1');
❌ CSSが読み込まれていない
問題: ブラウザの開発者ツールで見ると、style.cssが404エラーになっている
原因: スタイルシートの読み込み方法が間違っている
解決方法:
解決方法:
- header.phpで直接リンクしていないか確認(非推奨)
- functions.phpで
wp_enqueue_style()を使用しているか確認 - header.phpに
<?php wp_head(); ?>があるか確認
画像・メディアの問題
❌ アイキャッチ画像が表示されない
問題: アイキャッチ画像を設定したのに表示されない
チェックポイント:
- functions.phpに
add_theme_support('post-thumbnails');があるか確認 - テンプレートに
<?php the_post_thumbnail(); ?>があるか確認 <?php if (has_post_thumbnail()) : ?>で条件分岐しているか確認
❌ 画像のパスが間違っている
問題: テーマ内の画像が表示されない(ロゴなど)
正しいパスの取得方法:
<!-- 間違い -->
<img src="images/logo.png">
<!-- 正しい -->
<img src="<?php echo get_template_directory_uri(); ?>/images/logo.png">
機能が動作しない
❌ メニューが表示されない
問題: ナビゲーションメニューを作成したのに表示されない
チェックポイント:
- functions.phpで
register_nav_menus()が実行されているか - header.phpで
wp_nav_menu()を呼び出しているか - 管理画面で「メニューの位置」を設定したか
theme_locationの名前が一致しているか
❌ ウィジェットが表示されない
問題: ウィジェットエリアにウィジェットを追加したが表示されない
チェックポイント:
- functions.phpで
register_sidebar()が実行されているか - テンプレートで
<?php dynamic_sidebar('sidebar-1'); ?>を呼び出しているか - ウィジェットエリアのIDが一致しているか
<?php get_sidebar(); ?>を呼び出しているか
❌ JavaScriptが動作しない
問題: jQueryなどのJavaScriptが動作しない
原因: スクリプトの読み込み順序や読み込み方法の問題
解決方法:
解決方法:
- footer.phpに
<?php wp_footer(); ?>があるか確認 - functions.phpで
wp_enqueue_script()を使用する - jQueryを使う場合は依存関係を指定:
wp_enqueue_script('mytheme-script', get_template_directory_uri() . '/js/script.js', array('jquery'), '1.0', true );
パフォーマンスの問題
❌ ページの読み込みが遅い
問題: サイトの表示速度が遅い
改善方法:
- 画像の最適化: JPEGならTinyPNGなどで圧縮
- 不要なプラグインを削除: 使っていないプラグインを無効化
- キャッシュプラグイン: WP Super Cacheなどを導入
- データベースクエリの最適化: 無駄なループを減らす
- 外部スクリプトの削減: 不要なCDNリンクを削除
デバッグの基本
🔍 効果的なデバッグ方法
- ブラウザの開発者ツールを使う
- F12キーで開発者ツールを開く
- Consoleタブでエラーメッセージを確認
- Networkタブで読み込まれていないファイルを確認
- var_dump()で変数の中身を確認
<?php var_dump($変数名); ?>
- wp_die()で処理を止めて確認
<?php wp_die('ここまで実行された'); ?>
- エラーログを確認
- wp-content/debug.log
- サーバーのエラーログ
それでも解決しない場合
💡 サポートを受ける方法
- WordPress日本語フォーラム: https://ja.wordpress.org/support/forums/
- Stack Overflow: 英語だが情報量が豊富
- テーマのコードレビュー: Theme Check プラグインを使用
- コミュニティ: WordPressのMeetupやWordCampに参加
質問する際のポイント
- WordPressのバージョン
- PHPのバージョン
- 何をしたら問題が発生したか
- エラーメッセージの全文
- 試した解決方法
予防策:開発のベストプラクティス
⚠️ トラブルを防ぐために
- ✅ こまめにバックアップを取る
- ✅ ローカル環境で十分テストしてから本番に反映
- ✅ バージョン管理(Git)を使う
- ✅ コードにコメントを残す
- ✅ WordPressコーディング規約に従う
- ✅ Theme Checkプラグインで定期的にチェック
- ✅ 変更は少しずつ行い、都度確認する
関連ページ
問題が解決したら、テーマ作成を続けましょう。