
the_content_rss()とは?
the_content_rss()
は、RSSフィード用に整形された投稿本文を出力する関数です。
WordPressのRSSフィードは feed.php
や feed-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 | 「続きを読む」リンクのテキスト。省略可 |
$stripteaser | true (または 1 )で「ティーザー」(導入部)を除外 |
$more_file | 旧形式のmoreリンク用URL(基本使用しない) |
$cut | 本文のカット文字数。0なら全体を出力 |
$encode_html | true にするとHTMLエンコードされて出力される(例:< → < ) |
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.php 、page.php など | feed-rss2.php 、rss.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フィード配信を制御するうえでは非常に重要です。
メールマガジン連携・外部サービスでのフィード活用・独自テンプレートの作成など、用途は多岐にわたります。