WordPressでRSSフィードに出力される内容をカスタマイズする方法

MiniTool_ad

WordPressでRSSフィードに出力される内容をカスタマイズする方法

WordPressには、サイトの更新情報を発信する方法として「RSS」配信機能が搭載されています。

Memo

RSSは、ニュースやブログなど各種のウェブサイトで、更新情報を配信するためのXML形式のデータフォーマットで、WordPressにも標準搭載されています。

RSS配信しているサイト(以下のような画像が掲載されているサイト)なら、RSSリーダーと呼ばれるツールを使用することで、更新情報や新着情報を自動的に取得することができます。

WordPressでRSSフィードに出力される内容をカスタマイズする方法

RSSフィードには、画像やテキストを出力することができますが、WordPressの設定画面からは、RSSフィードに表示する内容として「全⽂を表⽰」するか「要約」を表示するかしか設定できません。

WordPressでRSSフィードに出力される内容をカスタマイズする方法

そこでここでは、WordPressのRSSフィードに指定した抜粋内容を表示させたり、アイキャッチ画像を出力させるカスタマイズ方法を紹介します。

ニュースサイトから見出しベースで効率よく情報収集するならRSSリーダー
ここでは、朝の通勤通学時間にニュースアプリよりも効率よく情報収集する方法としてスマートフォン向けのRSSリーダーを紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェア(プラグイン)バージョン
WordPress5.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');
Memo

上の処理を「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フィードに記載する内容を調整すれば、より分かりやすい更新情報を配信できます。