WordPressには、サイトの更新情報を発信する方法として「RSS」配信機能が搭載されています。
RSSは、ニュースやブログなど各種のウェブサイトで、更新情報を配信するためのXML形式のデータフォーマットで、WordPressにも標準搭載されています。
RSS配信しているサイト(以下のような画像が掲載されているサイト)なら、RSSリーダーと呼ばれるツールを使用することで、更新情報や新着情報を自動的に取得することができます。
RSSフィードには、画像やテキストを出力することができますが、WordPressの設定画面からは、RSSフィードに表示する内容として「全⽂を表⽰」するか「要約」を表示するかしか設定できません。
そこでここでは、WordPressのRSSフィードに指定した抜粋内容を表示させたり、アイキャッチ画像を出力させるカスタマイズ方法を紹介します。

目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のバージョンでは、動作結果が異なる場合があることをご了承ください。
ソフトウェア(プラグイン) | バージョン |
---|---|
WordPress | 5.7.2 |
moreタグまでの内容を出⼒する
WordPressでは、Webページの抜粋を指定するためのタグとして「more」タグがあり、このタグを活用して、RSSフィードにmoreタグまでの内容を出力させることができます。
実装方法は、子テーマの「functions.php」に以下を追記します。
function my_content_feeds($content) {
global $post, $more;
$more = false;
$content = apply_filters('the_content', get_the_content(''));
$content = str_replace(']]>', ']]>', $content);
return $content;
}
add_filter('the_excerpt_rss', 'my_content_feeds');
add_filter('the_content_feed', 'my_content_feeds');
moreタグまでの内容に加えて、元記事へのリンクも出力させたいときは、以下を追記します。
function my_content_feeds($content) {
global $post, $more;
$more = false;
$content = apply_filters('the_content', get_the_content(''));
$content = str_replace(']]>', ']]>', $content);
$content = $content . '<div><a href="' . get_permalink($post->ID) . '">「 ' . get_the_title($post->ID) . ' 」の続きを読む</a></div>';
return $content;
}
add_filter('the_excerpt_rss', 'my_content_feeds');
add_filter('the_content_feed', 'my_content_feeds');
上の処理を「functions.php」に追記する場合、記事内にmoreタグがないと全文出力されてしまうのでご注意ください。
アイキャッチ画像を出力する
RSSフィードにアイキャッチ画像を出力させたいときは、子テーマの「functions.php」に以下を追記します。
function rss_thumbnail($content) {
global $post;
if (has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID,'medium') .'</p>' . $content;
}
return $content;
}
add_filter( 'the_excerpt_rss', 'rss_thumbnail');
add_filter( 'the_content_feed', 'rss_thumbnail');
あとがき
RSSフィードに記載する内容を調整すれば、より分かりやすい更新情報を配信できます。