the_content_rss()

目次

the_content_rss()とは?

the_content_rss() は、RSSフィード用に整形された投稿本文を出力する関数です。

WordPressのRSSフィードは feed.phpfeed-rss2.php などのテンプレートを使って配信されており、
その本文出力に使用されるのが the_content_rss() です。

通常の投稿表示用関数 the_content() とは異なり、フィード専用の出力形式となっている点が特徴です。

the_content_rss()の基本構文

the_content_rss(
  string $more_link_text = null,
  int|false $stripteaser = 0,
  string $more_file = '',
  int $cut = 0,
  string $encode_html = false
);

the_content_rss()の引数の詳細

引数名内容
$more_link_text「続きを読む」リンクのテキスト。省略可
$stripteasertrue(または 1)で「ティーザー」(導入部)を除外
$more_file旧形式のmoreリンク用URL(基本使用しない)
$cut本文のカット文字数。0なら全体を出力
$encode_htmltrueにするとHTMLエンコードされて出力される(例:<&lt;

the_content_rss()の基本的な使い方

RSSフィードテンプレート内で使用されるケースがほとんどです。
手動で使うことは稀ですが、カスタムRSSテンプレートなどでは次のように使用します。

<description><![CDATA[
  <?php the_content_rss('', true, '', 0); ?>
]]></description>

このように <![CDATA[]]> で囲うことで、RSSフィードでもHTMLを扱えるようにします。

the_content() との違い

項目the_content()the_content_rss()
用途サイト表示用RSSフィード用
フィルターthe_content フィルターが適用the_content_rss フィルターが適用
HTML整形高度な整形あり(wpautop等)基本的にプレーンテキストかHTMLタグ少なめ
Moreリンク通常ページへのリンクを生成RSS用に最適化されたリンクを生成
使用箇所single.phppage.phpなどfeed-rss2.phprss.phpなどのRSSテンプレート

the_content_rss()の使用例とカスタマイズ

例1:ティーザー部を除外して出力

the_content_rss(null, true);
  • 「続きを読む」リンクは表示しない
  • ティーザー(moreタグより前)は除外

例2:HTMLをすべてエンコードしてプレーン表示

the_content_rss(null, 0, '', 0, true);
  • HTMLタグが全てエスケープされ、純粋なテキストとしてフィードに出力される
  • セキュリティやレイアウト上、HTMLタグを含めたくないときに使う

the_content_rss フィルターによる拡張

the_content_rss() の出力には以下のようなフィルターが適用されます:

apply_filters( 'the_content_rss', $output );

このフィルターを活用すれば、RSS出力の内容を自由に調整できます。

例:RSSフィードの最後に署名を追加

add_filter('the_content_rss', function($content){
  if (is_feed()) {
    $content .= "\n\n---\nこの記事は当ブログのRSS配信です。";
  }
  return $content;
});

get_the_content() + apply_filters() との使い分け

the_content_rss() を使わず、以下のように自分で制御する方法もあります:

$content = apply_filters('the_content_rss', get_the_content());
echo $content;

これにより、より細かなロジックで出力をコントロール可能です。

the_content_rss()のよくある用途と注意点

用途内容
カスタムRSSの作成自分で feed-custom.php などを作るときに使用
HTMLエスケープ出力メール配信などでテキスト形式にしたいとき
抜粋の代用the_excerpt_rss() との併用で柔軟な出力制御

注意点

  • RSSの仕様により、一部タグは正しく表示されない可能性があります
  • HTMLを多用すると一部リーダーでレイアウトが崩れることがあります
  • the_content_rss() は主に 非推奨のrss0.92やrdfなどで使用、RSS2.0やAtomでは the_content() が使われることもあります

関連タグとの違い

関数名用途
the_content()通常ページ・投稿で本文を表示
get_the_content()本文を取得(echoしない)
the_excerpt()サイト内の抜粋を表示
the_excerpt_rss()RSS向けの抜粋
the_content_rss()RSS向けの本文全文(more対応)

the_content_rss()のまとめ

項目内容
関数名the_content_rss()
目的RSSフィードに投稿本文を出力する
主な使用箇所RSSテンプレート(feed-rss2.php 等)
HTML出力オプションでHTMLまたはプレーンテキストに切替可
フィルターthe_content_rss が適用される
注意点is_feed() 判定で条件分岐して利用推奨

the_content_rss() は、普段のサイト表示ではあまり登場しない関数ですが、RSSフィード配信を制御するうえでは非常に重要です。
メールマガジン連携・外部サービスでのフィード活用・独自テンプレートの作成など、用途は多岐にわたります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次