WordPressの標準のRSSフィード(?feed=rss2)には、デフォルトではアイキャッチ画像(サムネイル)のURLを出力するタグ(<enclosure> や <media:content>)が含まれていません。
これを解決する最も簡単で安全な方法はfunctions.php に数行のコードを追加して、フィードにアイキャッチ情報を自動挿入することです。
プラグインを増やすことなく実装できる「コードを追加する方法」と、コードを触りたくない場合の「プラグインを使う方法」の2パターンを解説します。
方法1:functions.php にコードを追加
各サブディレクトリのWordPressのテーマにある functions.php に以下のコードを貼り付けるだけで、フィードの中にアイキャッチ画像の情報が正しく追加され、Feedzyなどの外部プラグインが画像を認識できるようになります。
設置ステップ
- WordPress管理画面にログインします。
- 左メニューの 「外観」 > 「テーマファイルエディター」 を選択します。
- 右側のファイル一覧から
functions.php(テーマのための関数) をクリックして開きます。 - ファイルの最下部に、以下のコードをそのまま貼り付けます。
/**
* RSSフィードにアイキャッチ画像(XMLタグ)を追加する
*/
function rss_post_thumbnail($content) {
global $post;
if (has_post_thumbnail($post->ID)) {
$thumbnail_id = get_post_thumbnail_id($post->ID);
$thumbnail_url = wp_get_attachment_image_url($thumbnail_id, 'medium'); // サイズは 'full' や 'medium' など
// フィードの本文(Description)の先頭に画像を埋め込む場合(Feedzy等で確実に拾わせるため)
$content = '<p><img src="' . esc_url($thumbnail_url) . '" alt="' . esc_attr($post->post_title) . '" class="webfeed-featured-image" /></p>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
// 拡張的なRSS規格(RSS2.0 enclosure)にも画像URLを載せる
function add_rss_images() {
global $post;
if (has_post_thumbnail($post->ID)) {
$thumbnail_id = get_post_thumbnail_id($post->ID);
$thumbnail_url = wp_get_attachment_image_url($thumbnail_id, 'full');
$thumbnail_size = filesize(get_attached_file($thumbnail_id));
$thumbnail_mime = get_post_mime_type($thumbnail_id);
echo '<enclosure url="' . esc_url($thumbnail_url) . '" length="' . esc_attr($thumbnail_size) . '" type="' . esc_attr($thumbnail_mime) . '" />';
}
}
add_action('rss2_item', 'add_rss_images');
- 「ファイルを更新」 をクリックして保存します。
💡 注意: 子テーマを使っていない場合、テーマをアップデートするとこの記述が消えてしまうため、もしアップデートがあっても残したい場合は次の「方法2」のプラグインをお使いください。
方法2:プラグインで解決
コードを直接書き換えるのが不安な場合は、フィードを拡張するためだけの専用プラグインを導入するのが簡単です。
導入ステップ
- WordPress管理画面の「プラグイン」>「新規追加」を開きます。
- 検索窓に 「Featured Images in RSS Feeds」 または 「Add Featured Image to RSS Feed」 と入力します。
- インストールして 有効化 します。
- 有効化するだけで、標準の
/?feed=rss2の中に自動的にアイキャッチ画像のタグが埋め込まれます。
設置後の確認手順
- コード追加、またはプラグイン有効化のあと、ブラウザで
https://mtoy.work/develop/?feed=rss2にアクセスします。 - 画面上(またはソースコード表示)で、各記事の
<description>内に<img src="...">が入っているか、あるいは<enclosure ... />というタグが追加されているか確認します。

コメント