アイキャッチ画像が表示されないときの原因と対処法【WordPress初心者向け】

WordPressでアイキャッチ画像が表示されないときの原因と対処法を初心者向けに解説。functions.phpやテーマ設定の確認方法をわかりやすく紹介。
WordPressでアイキャッチ画像が表示されない原因と対処法を初心者にもわかりやすく図解。functions.phpやテーマ構造、キャッシュ設定まで完全網羅。

はじめに

WordPressで記事を投稿したのに「アイキャッチ画像(サムネイル)」が表示されない…
そんな経験はありませんか?
実はこのトラブル、テーマ設定・関数・画像登録方法のいずれかに原因があることがほとんどです。

この記事では、初心者の方でも理解しやすいように、
**「なぜ表示されないのか」→「どう直すか」**までを順を追って解説します。

アイキャッチ画像とは?

アイキャッチ画像とは、記事の代表的な画像のことです。
トップページや記事一覧、SNSでシェアされた際のサムネイルとしても表示されます。

設定方法は簡単で、投稿画面の右下にある「アイキャッチ画像を設定」から選択できます。
ただし、テーマやテンプレートによってはこの設定だけでは反映されない場合があります。

表示されない主な原因

アイキャッチ画像が表示されない原因は、以下のように大きく分けられます。

分類主な原因
設定ミスそもそもアイキャッチ画像が設定されていない
テーマ側functions.phpでアイキャッチ機能が有効化されていない
テンプレート側出力コード(the_post_thumbnail())が書かれていない
画像側メディアのパスやサーバー設定に問題がある
プラグインキャッシュ系や最適化系プラグインの影響
固定ページhome.phpやfront-page.phpの使い方が誤っている

それぞれの対処法

① アイキャッチ画像を再設定する

まずは、投稿編集画面でアイキャッチが設定されているか確認しましょう。
画像が空欄なら「アイキャッチ画像を設定」から登録します。

もし設定済みでも表示されない場合は、一度削除して再設定してみましょう。

② functions.phpにサポートを追加

テーマでアイキャッチ機能が有効化されていないと、管理画面で設定しても反映されません。

// アイキャッチ画像を有効化
add_theme_support('post-thumbnails');

この1行をfunctions.phpに追加すれば、投稿・固定ページで使用可能になります。

③ テンプレートに出力コードを追加

記事一覧や個別ページでアイキャッチを表示したい場合は、次のコードを追加します。

<?php if (has_post_thumbnail()) : ?>
  <?php the_post_thumbnail('medium'); ?>
<?php else : ?>
  <img src="<?php echo get_template_directory_uri(); ?>/img/noimage.jpg" alt="No Image">
<?php endif; ?>

このように、代替画像(noimage.jpg)を設定しておくとデザインが崩れません。

functions.phpの設定を確認する

上記のadd_theme_support('post-thumbnails');以外にも、
サイズ指定をしておくとより管理しやすくなります。

// 画像サイズを追加
add_image_size('archive-thumb', 600, 400, true);

これにより、テンプレートで

the_post_thumbnail('archive-thumb');

と指定すれば、統一されたサムネイルサイズが使えます。

テーマファイルでの出力方法

テーマによっては、home.phparchive.phpにアイキャッチが記述されていない場合もあります。

たとえば、以下のようにループ内で出力します。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  <article>
    <a href="<?php the_permalink(); ?>">
      <?php the_post_thumbnail('archive-thumb'); ?>
      <h2><?php the_title(); ?></h2>
    </a>
  </article>
<?php endwhile; endif; ?>

もし固定ページ(例:home.php)で出したい場合は、
get_the_post_thumbnail(get_the_ID(), 'large');を使用します。

よくある落とし穴

症状原因対処法
投稿一覧では出るが、トップページで出ないhome.phpを固定ページとして使用front-page.phpまたはpage-home.phpに変更
サムネイルが真っ白キャッシュプラグインの影響一度キャッシュを削除
表示されるが切れているobject-fitやCSS指定の問題object-fit: cover;を見直す
管理画面に設定欄がないアイキャッチ機能が無効add_theme_support('post-thumbnails');を追記

内部リンクで学ぶ関連知識

まとめ

アイキャッチ画像が表示されないときは、
焦らず以下のステップを確認してみてください。

  1. 投稿画面でアイキャッチを設定しているか
  2. functions.phpで機能が有効になっているか
  3. テンプレートに出力コードがあるか
  4. キャッシュ・CSSの影響がないか

これでほとんどのケースは解決できます。
デザインの統一性を保つためにも、代替画像を設定することも忘れずに行いましょう。

次は関連記事 👉
WordPress初心者でも安心!functions.phpの使い方と注意点