RSSにアイキャッチ画像と抜粋(PHP7+型宣言対応)を追加する方法
WordPressのRSSフィードには標準で記事タイトルと本文のみが出力されます。
アイキャッチ画像や抜粋をRSSに追加すると、メールマガジンやRSSリーダーで見栄えが良くなります。
1 実装のポイント
RSSフィードにアイキャッチや抜粋を追加するには、functions.phpにフィルターを追加します。アイキャッチはget_the_post_thumbnail_url()、抜粋はget_the_excerpt()を使用します。
2 functions.php にコードを追加
//-------------------------------------------
// RSSにアイキャッチ画像と抜粋を追加(PHP7+型宣言対応)
//-------------------------------------------
function rss_thumbnail_and_excerpt(string $content): string {
$post_id = get_the_ID();
if (!$post_id) {
return $content;
}
// アイキャッチ画像のHTML取得
$thumbnail_html = '';
if (has_post_thumbnail($post_id)) {
$thumbnail_url = get_the_post_thumbnail_url($post_id, 'medium');
if ($thumbnail_url) {
$thumbnail_html = '<p><img src="' . esc_url($thumbnail_url) . '" alt="' . esc_attr(get_the_title()) . '" /></p>';
}
}
// 抜粋を取得
$excerpt_html = '';
$excerpt = get_the_excerpt($post_id);
if ($excerpt) {
$excerpt_html = '<p>' . esc_html($excerpt) . '</p>';
}
// アイキャッチ+抜粋+本文の順で出力
return $thumbnail_html . $excerpt_html . $content;
}
// RSS本文に適用
add_filter('the_excerpt_rss', 'rss_thumbnail_and_excerpt');
add_filter('the_content_feed', 'rss_thumbnail_and_excerpt');
補足:
- 画像サイズを変更したい場合は 'medium' を 'full' などに変更可能
- RSSリーダー上で画像幅を固定したい場合は CSS で制御可能
- 画像サイズを変更したい場合は 'medium' を 'full' などに変更可能
- RSSリーダー上で画像幅を固定したい場合は CSS で制御可能
3 まとめ
RSSフィードにアイキャッチ画像と抜粋を追加することで、読者に視覚的にも訴求できる配信が可能です。


