
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リーダーやメールマガジン配信、他サービスとの連携などにおいて、「全文ではなく要約だけを配信したい」といったニーズに対応できます。