ワードプレスでアイキャッチ画像が作成されない原因と解決策

WordPress で アイキャッチ画像が設定されているのに表示されない という問題は、
データベース、ファイルの保存先、テーマの設定 など複数の原因が考えられます。

本記事では、アイキャッチ画像が作成されない原因を特定し、解決策を徹底解説 します。

アイキャッチ画像が表示されない主な原因

画像が WordPress のメディアライブラリにはあるが、表示されない

  • メディアライブラリには登録されている
  • しかし、記事のアイキャッチとして表示されない
  • the_post_thumbnail() が適切に機能していない可能性

画像がメディアライブラリにもない

  • WordPress に正しくアップロードされていない
  • 画像の保存先 (wp-content/uploads/) に異常がある
  • パーミッションの問題で画像が表示されない

画像の URL (guid) が間違っている

  • 画像の URL が example.com になっていて、実際のサイトの URL と違う
  • サイト移転や SSL 設定変更で URL の不整合が発生している

wp_postmeta に _thumbnail_id がない

  • wp_postmeta にアイキャッチ画像の ID (_thumbnail_id) が登録されていない
  • wp_posts.ID に対応する attachment タイプのデータがない

wp_posts の post_parent が設定されていない

  • 画像の post_type = 'attachment' になっているが、post_parent が NULL
  • 投稿 (post_id) に正しく紐付いていない

テーマで the_post_thumbnail() の記述がない

  • single.php, content.phpthe_post_thumbnail() の記述がない
  • テーマ側でアイキャッチの表示処理がされていない

原因を特定するためのチェック項目

ここでは、 問題の発生原因を突き止めるための具体的な確認手順 を説明します。

メディア URL が正しいか確認

確認方法

  1. WordPress管理画面メディアライブラリ に移動
  2. 該当する画像をクリック
  3. 「ファイルの URL」を確認
  4. URL をブラウザのアドレスバーに貼り付けて開く

問題と解決策

問題 解決策
画像が表示されない 画像が実際に存在しない → FTP にアップロードする
URL が example.com になっている wp_posts.guid の URL を修正
UPDATE wp_posts
SET guid = 'https://fuuzokuav.com/wp-content/uploads/2025/03/sample-image.jpg'
WHERE ID = 21;

FTP で画像が正しく保存されているか確認

確認方法:

  1. FTP クライアントで wp-content/uploads/2025/03/ を開く
  2. sample-image.jpg が存在するか確認
  3. パーミッションを確認 (推奨値: 755 or 644)
chmod -R 755 wp-content/uploads
find wp-content/uploads -type f -exec chmod 644 {} \; }
問題と解決策:
問題 解決策
画像ファイルがない FTP に手動でアップロード
画像名が違う 正しい名前に変更
パーミッションが 000600 755 or 644 に変更

wp_posts の guid を確認

確認方法:

  1. phpMyAdminwp_posts テーブルを開く
  2. 以下の SQL を実行
SELECT ID, guid
FROM wp_posts
WHERE post_type = 'attachment';

問題と解決策:

問題 解決策
guidexample.com サイトのドメインに修正
guidwp-content/uploads/2025/03/ 以外のパスが設定されている 正しいパスに変更

wp_postmeta の _thumbnail_id を確認

確認方法:

sql
SELECT post_id, meta_value AS thumbnail_id
FROM wp_postmeta
WHERE meta_key = '_thumbnail_id';

問題と解決策:

問題 解決策
meta_value存在しない ID が入っている 正しい ID に修正
wp_posts.IDその ID の attachment がない 画像を再アップロード

wp_posts の post_parent を修正

確認方法:

sql
SELECT ID, post_title, post_parent
FROM wp_posts
WHERE post_type = 'attachment';

問題と解決策:

問題 解決策
post_parent が NULL 投稿の post_id を設定
sql
UPDATE wp_posts
SET post_parent = 2
WHERE ID = 21;

the_post_thumbnail() のコードを確認

確認方法:

  1. single.php, content.php を開く
  2. 以下のコードがあるか確認
php
<?php if ( has_post_thumbnail() ): ?>
<?php the_post_thumbnail('medium'); ?>
<?php endif; ?>

問題と解決策:

問題 解決策
コードがない the_post_thumbnail() を追加

3. Regenerate Thumbnails を使ってサムネイルを再生成

確認方法:

  1. Regenerate Thumbnails プラグインをインストール
  2. 「ツール」→「Regenerate Thumbnails」
  3. Regenerate Thumbnails を実行

問題と解決策:

問題 解決策
画像が破損している サムネイルを再生成
サムネイルが作成されない テーマの functions.php を確認

まとめ

確認項目 目的 確認方法 解決策
メディア URL WordPress が正しい URL を指しているか メディアライブラリで URL を確認 wp_posts.guid を修正
FTP に画像があるか 画像がアップロードされているか FTP で wp-content/uploads/ を確認 手動アップロード or パーミッション修正
wp_postmeta_thumbnail_id 投稿にアイキャッチ画像が正しく紐づいているか wp_postmetameta_value を確認 meta_value を修正
wp_postsguid 画像 URL が正しいか wp_postsguid を確認 guid を修正
the_post_thumbnail() の確認 テーマがアイキャッチを正しく取得しているか single.php, content.php を確認 the_post_thumbnail() を追加
サムネイルの再生成 画像が破損していないか Regenerate Thumbnails を実行 Regenerate Thumbnails を実行
hatGPT said:

さらに詳細なデバッグ方法

上記の手順で解決しない場合、さらに詳細に調査する方法を解説します。

wp_postmeta で _thumbnail_id の整合性をチェック

確認方法

sql
SELECT pm.post_id, pm.meta_value AS thumbnail_id, p.guid
FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.meta_value = p.ID
WHERE pm.meta_key = '_thumbnail_id';

考えられる問題と解決策

問題 解決策
thumbnail_id が NULL _thumbnail_id のレコードを作成する
thumbnail_id に対応する guid が NULL wp_postsattachment のデータがない
guid の URL が example.com など別ドメインになっている guid を修正

修正例

sql
UPDATE wp_posts
SET guid = 'https://fuuzokuav.com/wp-content/uploads/2025/03/sample-image.jpg'
WHERE ID = 21;

wp_posts の post_parent を確認

アイキャッチ画像(attachment タイプ)の post_parent が、対応する投稿の post_id になっているか確認します。

確認方法

sql
SELECT ID, post_title, post_type, post_parent
FROM wp_posts
WHERE post_type = 'attachment';

考えられる問題と解決策

問題 解決策
post_parentNULL post_parentpost_id を設定
post_parent が間違っている 正しい post_id に修正

修正例

sql
UPDATE wp_posts
SET post_parent = 2
WHERE ID = 21;

wp-config.php でデバッグモードを有効化

WordPress のデバッグモードを有効にすると、エラーをログに記録できます。

設定方法

  1. wp-config.php を開く
  2. 以下の行を 追加または編集
php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
  1. wp-content/debug.log を確認

考えられる問題と解決策

問題 解決策
Warning: Undefined index: _thumbnail_id _thumbnail_id の登録を修正
Error: Call to undefined function テーマやプラグインのバグ
Permission denied サーバーのファイル権限を修正

.htaccess の設定を確認

.htaccess の設定によって、画像ファイルの読み込みがブロックされている可能性があります。

確認方法

  1. public_html/.htaccess を開く
  2. 以下のコードが含まれていないか確認
apache
<FilesMatch "\.(jpg|jpeg|png|gif)$">
Order Deny,Allow
Deny from all
</FilesMatch>
  1. 存在する場合、コメントアウト
apache
# <FilesMatch "\.(jpg|jpeg|png|gif)$">
# Order Deny,Allow
# Deny from all
# </FilesMatch>

考えられる問題と解決策

問題 解決策
画像ファイルが 403 Forbidden になる .htaccess を修正
画像の URL で 404 Not Found になる RewriteRule を確認
wp-content/uploads/ へのアクセスが制限されている Allow from all を設定

テーマの functions.php でアイキャッチが有効か確認

テーマがアイキャッチ画像をサポートしているか確認します。

確認方法

  1. functions.php に以下のコードがあるかチェック
php
add_theme_support('post-thumbnails');
  1. ない場合は追加
php
function custom_theme_setup() {
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'custom_theme_setup');

考えられる問題と解決策

問題 解決策
アイキャッチが表示されない functions.phpadd_theme_support('post-thumbnails'); を追加
the_post_thumbnail() が機能しない the_post_thumbnail()single.php に追加

サーバーの error_log を確認

サーバーのエラーログを確認することで、Apache や Nginx のエラーを特定できます。

確認方法

  1. SSH でサーバーにログイン
  2. Apache のエラーログを確認
bash
tail -f /var/log/apache2/error.log
  1. Nginx のエラーログを確認
bash
tail -f /var/log/nginx/error.log

考えられる問題と解決策

問題 解決策
Permission denied chmod -R 755 wp-content/uploads
File not found 画像ファイルがない
Memory limit exceeded php.inimemory_limit を増やす

Regenerate Thumbnails を使ってサムネイルを再生成

アイキャッチ画像が正しく表示されない原因がサムネイルの未生成である可能性があります。

解決策

  1. Regenerate Thumbnails プラグインをインストール
  2. 「ツール」→「Regenerate Thumbnails」
  3. Regenerate Thumbnails を実行

考えられる問題と解決策

問題 解決策
画像が破損している サムネイルを再生成
サムネイルが作成されない テーマの functions.php を確認

まとめ

確認項目 目的 確認方法 解決策
メディア URL WordPress が正しい URL を指しているか メディアライブラリで URL を確認 wp_posts.guid を修正
FTP に画像があるか 画像がアップロードされているか FTP で wp-content/uploads/ を確認 手動アップロード or パーミッション修正
wp_postmeta_thumbnail_id 投稿にアイキャッチ画像が正しく紐づいているか wp_postmetameta_value を確認 meta_value を修正
wp_postsguid 画像 URL が正しいか wp_postsguid を確認 guid を修正
the_post_thumbnail() の確認 テーマがアイキャッチを正しく取得しているか single.php, content.php を確認 the_post_thumbnail() を追加
.htaccess の設定 画像ファイルのアクセス制限がないか .htaccess を確認 Allow from all を設定
サーバーのエラーログ Apache/Nginx のエラーを確認 error.log をチェック chmod -R 755 wp-content/uploads
サムネイルの再生成 画像が破損していないか Regenerate Thumbnails を実行 Regenerate Thumbnails を実行

以上の手順を順番に試すことで、アイキャッチ画像が表示されない問題を解決できます!

ChatGPT said:

7. WordPress のアイキャッチ画像が表示されない原因と解決策(追加検証項目)

前章で解説した基本的なチェックリストを踏まえ、それでも解決しない場合にさらに深掘りして検証すべきポイントを詳しく解説します。

7-1. WordPress のメディアライブラリと実際のファイルの整合性を確認

確認方法

  1. WordPress の管理画面から 「メディア」「ライブラリ」 に移動
  2. 問題の画像が 表示されているか 確認
  3. 表示されている場合は、画像をクリックして 「ファイルの URL」 をコピー
  4. URL をブラウザで開き、画像が表示されるか確認

考えられる問題と解決策

問題 解決策
メディアライブラリに画像があるが、URL を開くと 404 Not Found になる 画像が wp-content/uploads/ にない可能性あり。FTP で確認し手動アップロード
メディアライブラリに画像がない wp_postsattachment のデータがない可能性あり。DB を手動更新
メディアライブラリにあるが、画像が真っ白 画像のパーミッションエラーの可能性。chmod 644 を適用

解決策

bash
# 画像ファイルの権限を適切に設定
sudo chmod -R 755 wp-content/uploads/
sudo chmod -R 644 wp-content/uploads/*.jpg wp-content/uploads/*.png

7-2. wp_posts テーブルの attachment データと guid の確認

アイキャッチ画像は wp_posts テーブルの post_type='attachment' のデータとして保存されています。

確認方法

sql
SELECT ID, post_title, post_type, guid, post_parent
FROM wp_posts
WHERE post_type = 'attachment';

考えられる問題と解決策

問題 解決策
guidexample.com などの古い URL が設定されている UPDATE wp_posts SET guid='新しいURL' WHERE ID=対象ID;
post_parentNULL になっている UPDATE wp_posts SET post_parent=投稿ID WHERE ID=画像ID;
guid/wp-content/uploads/ が含まれていない guid を正しいパスに修正

修正例

sql
UPDATE wp_posts
SET guid = 'https://fuuzokuav.com/wp-content/uploads/2025/03/sample-image.jpg',
post_parent = 2
WHERE ID = 21;

7-3. wp_postmeta の _thumbnail_id の整合性チェック

アイキャッチ画像が紐づいているかどうかは、wp_postmeta テーブルの _thumbnail_id に記録されます。

確認方法

sql
SELECT post_id, meta_value AS thumbnail_id
FROM wp_postmeta
WHERE meta_key = '_thumbnail_id';

考えられる問題と解決策

問題 解決策
thumbnail_idNULL が設定されている INSERT INTO wp_postmeta (post_id, meta_key, meta_value) VALUES (投稿ID, '_thumbnail_id', 画像ID);
thumbnail_idmeta_valuewp_postsID に存在しない wp_postsattachment を確認し、対応する画像 ID に修正
thumbnail_idmeta_value が複数ある DELETE FROM wp_postmeta WHERE post_id=投稿ID AND meta_key='_thumbnail_id'; してから再登録

修正例

sql
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
VALUES (2, '_thumbnail_id', 21);

WordPress の画像キャッシュをクリア

テーマやプラグインのキャッシュによってアイキャッチ画像が正常に表示されないことがあります。

キャッシュをクリアする方法

  1. WordPress の管理画面 → 「設定」「パーマリンク」 を開き、「変更を保存」ボタンを押す(リライトルールがリフレッシュされる)
  2. 「WP Super Cache」または「W3 Total Cache」 を使用している場合、キャッシュを手動でクリア
  3. ブラウザのキャッシュを削除し、Ctrl + Shift + R で強制リロード

7-5. functions.php の the_post_thumbnail() が正しく実装されているか

テーマの functions.phpthe_post_thumbnail() の記述があるか確認。

確認方法

  1. single.phpcontent.php に以下のコードがあるかチェック
php
if ( has_post_thumbnail() ) {
the_post_thumbnail('full');
} else {
echo '<img src="' . get_template_directory_uri() . '/images/no-image.png" />';
}

考えられる問題と解決策

問題 解決策
the_post_thumbnail() の記述がない single.phpcontent.php に追加
has_post_thumbnail()false を返す wp_postmeta_thumbnail_id を確認
get_template_directory_uri() の画像が 404 Not Found になる no-image.png が存在するか確認

サーバーのエラーログをチェック

画像が 403 Forbidden404 Not Found になる場合、サーバーのエラーログを確認します。

エラーログの確認方法

bash
tail -f /var/log/apache2/error.log
tail -f /var/log/nginx/error.log

考えられる問題と解決策

問題 解決策
Permission denied chmod -R 755 wp-content/uploads/ を実行
File not found wp_posts.guid を修正し、画像を手動アップロード
Memory limit exceeded php.inimemory_limit を増やす

まとめ

確認項目 目的 確認方法 解決策
メディアライブラリの画像 WordPress が正しい URL を指しているか メディアライブラリで URL を確認 wp_posts.guid を修正
FTP に画像があるか 画像がアップロードされているか FTP で wp-content/uploads/ を確認 手動アップロード or パーミッション修正
wp_postmeta_thumbnail_id 投稿にアイキャッチ画像が正しく紐づいているか wp_postmetameta_value を確認 meta_value を修正
wp_postsguid 画像 URL が正しいか wp_postsguid を確認 guid を修正
the_post_thumbnail() の確認 テーマがアイキャッチを正しく取得しているか single.php, content.php を確認 the_post_thumbnail() を追加
.htaccess の設定 画像ファイルのアクセス制限がないか .htaccess を確認 Allow from all を設定
サーバーのエラーログ Apache/Nginx のエラーを確認 error.log をチェック chmod -R 755 wp-content/uploads
サムネイルの再生成 画像が破損していないか Regenerate Thumbnails を実行 Regenerate Thumbnails を実行

このガイドの手順をすべて試せば、WordPress のアイキャッチ画像が表示されない問題をほぼ確実に解決できます!

コメント