
the_excerpt_rss()とは?
the_excerpt_rss() は、RSSフィード(Atom, RSS2, RDFなど)で投稿本文の抜粋を表示するための関数です。
通常のサイト表示で使用する the_excerpt() のRSS版と考えると分かりやすいです。
- 投稿の全文をRSSで出すのではなく、「要約(excerpt)」を表示したいときに使います。
- 出力形式はテキストベースで、HTMLタグは基本的に除去されます。
the_excerpt_rss()が使用される場面
WordPressのRSSフィードテンプレート(feed-rss2.php など)で使用されます。
自作テンプレートで手動使用する場合もありますが、多くは自動的に呼び出されます。
例:feed-rss2.php 内
<description><![CDATA[
<?php the_excerpt_rss(); ?>
]]></description>※CDATAで囲うことで、RSSリーダーでテキストが崩れずに表示されます。
the_excerpt()との違い
| 項目 | the_excerpt() | the_excerpt_rss() |
|---|---|---|
| 用途 | サイト表示用の抜粋 | RSSフィード用の抜粋 |
| 出力形式 | HTML除去、簡易テキスト | HTML除去、RSS向けの整形 |
| 自動整形 | あり | あり(簡易) |
| フィルター | excerpt_length, excerpt_more | the_excerpt_rss |
抜粋の内容について
the_excerpt_rss() で出力される抜粋の中身は、基本的に以下のどちらかになります:
- 投稿の「抜粋欄」に手動で入力された内容
- 本文から自動で生成される要約(デフォルトは55語)
出力内容の特徴
- HTMLタグ:全て削除されます(安全なフィード配信のため)
- ショートコード:除去または無効
- 改行:基本的に
\n形式で整形 - フィルター:
the_excerpt_rssが適用される(カスタマイズ可)
the_excerpt_rss()の実際の出力例
投稿本文:
<p>これはWordPressのRSSフィードテストです。抜粋を使ってみましょう。</p>RSSフィード上の出力(the_excerpt_rss()):
これはWordPressのRSSフィードテストです。抜粋を使ってみましょう。※HTMLタグは除外され、テキストのみが出力されます。
the_excerpt_rss()のカスタマイズ例
フィルター the_excerpt_rss
このフィルターを使えば、出力される内容を加工することが可能です。
例:RSSの抜粋末尾にサイト名を追記
add_filter('the_excerpt_rss', function($excerpt) {
return $excerpt . '(配信元:' . get_bloginfo('name') . ')';
});フィルター excerpt_length
抜粋の文字数(単語数)を変更したい場合:
add_filter('excerpt_length', function($length) {
return 100; // 100単語に変更
});フィルター excerpt_more
抜粋の末尾に表示される [...] を変更:
add_filter('excerpt_more', function($more) {
return '…';
});※この変更は the_excerpt() と the_excerpt_rss() の両方に影響します。
get_the_excerpt() との組み合わせ
より柔軟な制御が必要なときは get_the_excerpt() と apply_filters('the_excerpt_rss', ...) を組み合わせて使うこともできます。
$excerpt = apply_filters('the_excerpt_rss', get_the_excerpt());
echo $excerpt;これにより、フィルターを通した上で出力することが可能です。
the_content_rss()との違い
the_content_rss() は「投稿本文(全文)」をRSSフィードに出力するための関数です。
それに対し、the_excerpt_rss() は「要約」のみを表示します。
| 関数名 | 出力内容 | 使い分け |
|---|---|---|
| the_content_rss() | 本文全文(整形付き) | 全文を配信したいとき |
| the_excerpt_rss() | 要約のみ(簡易整形) | 概要だけを配信したいとき |
the_excerpt_rss()の注意点とトラブル回避
| 注意点 | 説明 |
|---|---|
| HTMLが表示されない | RSSでは基本的にタグが除去される |
| 画像や動画が出ない | 抜粋にはメディア情報は含まれない |
| 抜粋が空になる | 「抜粋欄」に何も入力されておらず、本文も短い場合など |
カスタムRSSでの活用例
自作RSSフィードを作る場合、全文ではなく抜粋を使って軽量化したいケースで役立ちます。
<item>
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss(); ?></link>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
</item>the_excerpt_rss()のまとめ
| 項目 | 内容 |
|---|---|
| 関数名 | the_excerpt_rss() |
| 目的 | RSSフィードに要約(抜粋)を出力 |
| 出力形式 | プレーンテキスト(HTML除去) |
| 自動生成 | 抜粋欄が空の場合は本文から55語を抽出 |
| カスタマイズ | the_excerpt_rss フィルターで可能 |
| 使用場所 | feed-rss2.php などのRSSテンプレート |
the_excerpt_rss() は表にはあまり出てこない関数ですが、RSSフィードをコンパクトかつ適切に配信するために欠かせない存在です。
特にRSSリーダーやメールマガジン配信、他サービスとの連携などにおいて、「全文ではなく要約だけを配信したい」といったニーズに対応できます。