RSSフィードに投稿サムネイル・アイキャッチを表示させる

RSSフィードに投稿サムネイル・アイキャッチを表示させる

RSS・フィードに記事のアイキャッチを表示させる方法。結構厄介かなと思ったら意外とあっさりできる。functions.phpに数行コードを書くだけ。RSSに画像を入れて何のメリットがあるのか私なんぞにはわかりませんが、取りあえずやってみました。

「テーマのための関数」ファイルにコード追加

使っているテーマフォルダにあるfunctions.phpに下のコードを貼り付ける。

//RSSに画像を挿入
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID,full) . '</p>' 
. $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

5行目のfullをthumbnailにするとサムネイル、mediumは中サイズ、largeは大サイズの画像がRSSフィードに挿入される。うまくいくと、「WordPress PC WEB あれこれ堂的備忘録 RSS Feed」 のように指定した(上の場合fullで指定)サイズでRSSに画像が表示される。

設定→メディア設定(画像サイズ)で設定した画像サイズ
設定→メディア設定(画像サイズ)で設定した画像サイズ

画像サイズは、設定→メディア設定(画像サイズ)で設定した画像サイズが表示される模様、他のサイズで表示させてないのでわからない。当サイトでは投稿の編集でアイキャッチ画像に設定した画像のfullサイズで表示させている。

xmlはどんな風になってるのか

ブラウザには整形された形で表示されているが、実際のxmlはどのようになっているのか。

<item>
<title>Luxeritasにフロントページ専用のウィジェットエリアを追加する</title>
<link>https://f-af.com/luxeritas-frontpage-widget/</link>
<pubDate>Tue, 16 Jan 2018 14:41:51 +0000</pubDate>
<dc:creator><![CDATA[あれこれ堂]]></dc:creator>
<category><![CDATA[WPテーマ]]></category>
<category><![CDATA[WPカスタマイズ]]></category>
<category><![CDATA[Luxeritas]]></category>
<category><![CDATA[ルクセリタス]]></category>
<category><![CDATA[WordPress無料テーマ]]></category>
<category><![CDATA[ウィジェットエリア]]></category>
<category><![CDATA[ウィジェット]]></category>
<category><![CDATA[widget]]></category>
<guid isPermaLink=”false”>https://f-af.com/?p=326</guid>
<description><![CDATA[<p><img width=”710″ height=”280″ src=”https://f-af.com/wp-content/uploads/2018/01/326-luxeritas-frontpage-widget.jpg” class=”attachment-full size-full wp-post-image” alt=”” srcset=”https://f-af.com/wp-content/uploads/2018/01/326-luxeritas-frontpage-widget.jpg 710w, https://f-af.com/wp-content/uploads/2018/01/326-luxeritas-frontpage-widget-300×118.jpg 300w, https://f-af.com/wp-content/uploads/2018/01/326-luxeritas-frontpage-widget-530×209.jpg 530w, https://f-af.com/wp-content/uploads/2018/01/326-luxeritas-frontpage-widget-565×223.jpg 565w” sizes=”(max-width: 710px) 100vw, 710px” /></p>高速WordPress無料テーマ Luxeritas に、フロントページ(トップページ)の1ページ目専用(2ページ以降は表示されない)ウィジェットエリアを作る方法。パソコン向けページとモバイル・スマホ向けページにわけてウィジェットエリアを作成した]]></description>
</item>

<description>のところに<p>で囲んでずらずらとimgタグで表示しているようだ。