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.php
にthe_post_thumbnail()
の記述がない- テーマ側でアイキャッチの表示処理がされていない
原因を特定するためのチェック項目
ここでは、 問題の発生原因を突き止めるための具体的な確認手順 を説明します。
メディア URL が正しいか確認
確認方法
- WordPress管理画面 → メディア → ライブラリ に移動
- 該当する画像をクリック
- 「ファイルの URL」を確認
- 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 で画像が正しく保存されているか確認
確認方法:
- FTP クライアントで
wp-content/uploads/2025/03/
を開く sample-image.jpg
が存在するか確認- パーミッションを確認 (推奨値:
755
or644
)
chmod -R 755 wp-content/uploads
find wp-content/uploads -type f -exec chmod 644 {} \;
}
問題 | 解決策 |
---|---|
画像ファイルがない | FTP に手動でアップロード |
画像名が違う | 正しい名前に変更 |
パーミッションが 000 や 600 |
755 or 644 に変更 |
wp_posts の guid を確認
確認方法:
phpMyAdmin
でwp_posts
テーブルを開く- 以下の SQL を実行
SELECT ID, guid
FROM wp_posts
WHERE post_type = 'attachment';
問題と解決策:
問題 | 解決策 |
---|---|
guid が example.com |
サイトのドメインに修正 |
guid に wp-content/uploads/2025/03/ 以外のパスが設定されている |
正しいパスに変更 |
wp_postmeta の _thumbnail_id を確認
確認方法:
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 を修正
確認方法:
SELECT ID, post_title, post_parent
FROM wp_posts
WHERE post_type = 'attachment';
問題と解決策:
問題 | 解決策 |
---|---|
post_parent が NULL |
投稿の post_id を設定 |
UPDATE wp_posts
SET post_parent = 2
WHERE ID = 21;
the_post_thumbnail() のコードを確認
確認方法:
single.php
,content.php
を開く- 以下のコードがあるか確認
<?php if ( has_post_thumbnail() ): ?>
<?php the_post_thumbnail('medium'); ?>
<?php endif; ?>
問題と解決策:
問題 | 解決策 |
---|---|
コードがない | the_post_thumbnail() を追加 |
3. Regenerate Thumbnails を使ってサムネイルを再生成
確認方法:
Regenerate Thumbnails
プラグインをインストール- 「ツール」→「Regenerate Thumbnails」
Regenerate Thumbnails
を実行
問題と解決策:
問題 | 解決策 |
---|---|
画像が破損している | サムネイルを再生成 |
サムネイルが作成されない | テーマの functions.php を確認 |
まとめ
確認項目 | 目的 | 確認方法 | 解決策 |
---|---|---|---|
メディア URL | WordPress が正しい URL を指しているか | メディアライブラリで URL を確認 | wp_posts.guid を修正 |
FTP に画像があるか | 画像がアップロードされているか | FTP で wp-content/uploads/ を確認 |
手動アップロード or パーミッション修正 |
wp_postmeta の _thumbnail_id |
投稿にアイキャッチ画像が正しく紐づいているか | wp_postmeta の meta_value を確認 |
meta_value を修正 |
wp_posts の guid |
画像 URL が正しいか | wp_posts の guid を確認 |
guid を修正 |
the_post_thumbnail() の確認 |
テーマがアイキャッチを正しく取得しているか | single.php , content.php を確認 |
the_post_thumbnail() を追加 |
サムネイルの再生成 | 画像が破損していないか | Regenerate Thumbnails を実行 |
Regenerate Thumbnails を実行 |
hatGPT said:
さらに詳細なデバッグ方法
上記の手順で解決しない場合、さらに詳細に調査する方法を解説します。
wp_postmeta で _thumbnail_id の整合性をチェック
確認方法
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_posts に attachment のデータがない |
guid の URL が example.com など別ドメインになっている |
guid を修正 |
修正例
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
になっているか確認します。
確認方法
SELECT ID, post_title, post_type, post_parent
FROM wp_posts
WHERE post_type = 'attachment';
考えられる問題と解決策
問題 | 解決策 |
---|---|
post_parent が NULL |
post_parent に post_id を設定 |
post_parent が間違っている |
正しい post_id に修正 |
修正例
UPDATE wp_posts
SET post_parent = 2
WHERE ID = 21;
wp-config.php でデバッグモードを有効化
WordPress のデバッグモードを有効にすると、エラーをログに記録できます。
設定方法
wp-config.php
を開く- 以下の行を 追加または編集
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
wp-content/debug.log
を確認
考えられる問題と解決策
問題 | 解決策 |
---|---|
Warning: Undefined index: _thumbnail_id |
_thumbnail_id の登録を修正 |
Error: Call to undefined function |
テーマやプラグインのバグ |
Permission denied |
サーバーのファイル権限を修正 |
.htaccess の設定を確認
.htaccess
の設定によって、画像ファイルの読み込みがブロックされている可能性があります。
確認方法
public_html/.htaccess
を開く- 以下のコードが含まれていないか確認
<FilesMatch "\.(jpg|jpeg|png|gif)$">
Order Deny,Allow
Deny from all
</FilesMatch>
- 存在する場合、コメントアウト
# <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 でアイキャッチが有効か確認
テーマがアイキャッチ画像をサポートしているか確認します。
確認方法
functions.php
に以下のコードがあるかチェック
add_theme_support('post-thumbnails');
- ない場合は追加
function custom_theme_setup() {
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'custom_theme_setup');
考えられる問題と解決策
問題 | 解決策 |
---|---|
アイキャッチが表示されない | functions.php に add_theme_support('post-thumbnails'); を追加 |
the_post_thumbnail() が機能しない |
the_post_thumbnail() を single.php に追加 |
サーバーの error_log を確認
サーバーのエラーログを確認することで、Apache や Nginx のエラーを特定できます。
確認方法
- SSH でサーバーにログイン
- Apache のエラーログを確認
tail -f /var/log/apache2/error.log
- Nginx のエラーログを確認
tail -f /var/log/nginx/error.log
考えられる問題と解決策
問題 | 解決策 |
---|---|
Permission denied |
chmod -R 755 wp-content/uploads |
File not found |
画像ファイルがない |
Memory limit exceeded |
php.ini の memory_limit を増やす |
Regenerate Thumbnails を使ってサムネイルを再生成
アイキャッチ画像が正しく表示されない原因がサムネイルの未生成である可能性があります。
解決策
Regenerate Thumbnails
プラグインをインストール- 「ツール」→「Regenerate Thumbnails」
Regenerate Thumbnails
を実行
考えられる問題と解決策
問題 | 解決策 |
---|---|
画像が破損している | サムネイルを再生成 |
サムネイルが作成されない | テーマの functions.php を確認 |
まとめ
確認項目 | 目的 | 確認方法 | 解決策 |
---|---|---|---|
メディア URL | WordPress が正しい URL を指しているか | メディアライブラリで URL を確認 | wp_posts.guid を修正 |
FTP に画像があるか | 画像がアップロードされているか | FTP で wp-content/uploads/ を確認 |
手動アップロード or パーミッション修正 |
wp_postmeta の _thumbnail_id |
投稿にアイキャッチ画像が正しく紐づいているか | wp_postmeta の meta_value を確認 |
meta_value を修正 |
wp_posts の guid |
画像 URL が正しいか | wp_posts の guid を確認 |
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 のメディアライブラリと実際のファイルの整合性を確認
確認方法
- WordPress の管理画面から 「メディア」 → 「ライブラリ」 に移動
- 問題の画像が 表示されているか 確認
- 表示されている場合は、画像をクリックして 「ファイルの URL」 をコピー
- URL をブラウザで開き、画像が表示されるか確認
考えられる問題と解決策
問題 | 解決策 |
---|---|
メディアライブラリに画像があるが、URL を開くと 404 Not Found になる |
画像が wp-content/uploads/ にない可能性あり。FTP で確認し手動アップロード |
メディアライブラリに画像がない | wp_posts に attachment のデータがない可能性あり。DB を手動更新 |
メディアライブラリにあるが、画像が真っ白 | 画像のパーミッションエラーの可能性。chmod 644 を適用 |
解決策
# 画像ファイルの権限を適切に設定
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'
のデータとして保存されています。
確認方法
SELECT ID, post_title, post_type, guid, post_parent
FROM wp_posts
WHERE post_type = 'attachment';
考えられる問題と解決策
問題 | 解決策 |
---|---|
guid に example.com などの古い URL が設定されている |
UPDATE wp_posts SET guid='新しいURL' WHERE ID=対象ID; |
post_parent が NULL になっている |
UPDATE wp_posts SET post_parent=投稿ID WHERE ID=画像ID; |
guid に /wp-content/uploads/ が含まれていない |
guid を正しいパスに修正 |
修正例
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
に記録されます。
確認方法
SELECT post_id, meta_value AS thumbnail_id
FROM wp_postmeta
WHERE meta_key = '_thumbnail_id';
考えられる問題と解決策
問題 | 解決策 |
---|---|
thumbnail_id に NULL が設定されている |
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) VALUES (投稿ID, '_thumbnail_id', 画像ID); |
thumbnail_id の meta_value が wp_posts の ID に存在しない |
wp_posts の attachment を確認し、対応する画像 ID に修正 |
thumbnail_id の meta_value が複数ある |
DELETE FROM wp_postmeta WHERE post_id=投稿ID AND meta_key='_thumbnail_id'; してから再登録 |
修正例
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
VALUES (2, '_thumbnail_id', 21);
WordPress の画像キャッシュをクリア
テーマやプラグインのキャッシュによってアイキャッチ画像が正常に表示されないことがあります。
キャッシュをクリアする方法
- WordPress の管理画面 → 「設定」 → 「パーマリンク」 を開き、「変更を保存」ボタンを押す(リライトルールがリフレッシュされる)
- 「WP Super Cache」または「W3 Total Cache」 を使用している場合、キャッシュを手動でクリア
- ブラウザのキャッシュを削除し、
Ctrl + Shift + R
で強制リロード
7-5. functions.php の the_post_thumbnail() が正しく実装されているか
テーマの functions.php
に the_post_thumbnail()
の記述があるか確認。
確認方法
single.php
やcontent.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.php や content.php に追加 |
has_post_thumbnail() が false を返す |
wp_postmeta の _thumbnail_id を確認 |
get_template_directory_uri() の画像が 404 Not Found になる |
no-image.png が存在するか確認 |
サーバーのエラーログをチェック
画像が 403 Forbidden
や 404 Not Found
になる場合、サーバーのエラーログを確認します。
エラーログの確認方法
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.ini の memory_limit を増やす |
まとめ
確認項目 | 目的 | 確認方法 | 解決策 |
---|---|---|---|
メディアライブラリの画像 | WordPress が正しい URL を指しているか | メディアライブラリで URL を確認 | wp_posts.guid を修正 |
FTP に画像があるか | 画像がアップロードされているか | FTP で wp-content/uploads/ を確認 |
手動アップロード or パーミッション修正 |
wp_postmeta の _thumbnail_id |
投稿にアイキャッチ画像が正しく紐づいているか | wp_postmeta の meta_value を確認 |
meta_value を修正 |
wp_posts の guid |
画像 URL が正しいか | wp_posts の guid を確認 |
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 のアイキャッチ画像が表示されない問題をほぼ確実に解決できます!
コメント