RSSフィードの抜粋をさらに抜粋

RSSフィードの抜粋をさらに抜粋 - 抜粋の長さを調整してみた

説明

RSSフィードはデフォルトでは「全文(HTMLタグを含む)」になっているが、管理画面の「表示設定」では「抜粋のみ(HTMLタグは除外)」を選択できる。それでも投稿記事が長いと、その抜粋テキストも長くなってしまう。ここではそんなRSSフィードの抜粋テキストを調整する方法を紹介する。 RSSフィードの内容は、管理画面の「表示設定」-「RSS/Atom フィードでの各投稿の表示」で指定できる。デフォルトでは「全文を表示」になっていて、この状態では投稿記事の内容がそのままRSSフィードに出力される。ここで「抜粋のみを表示」すると、投稿記事で抜粋が登録されていればその内容が、抜粋が登録されていない場合は投稿記事からHTMLタグを除外した内容がRSSフィードに出力されることになる。そしてこの抜粋テキストは'the_excerpt_rss'フィルターで加工処理が可能だ。 テーマ内で対応するならfunctions.phpに次のような内容を記述すればいい。
add_filter( 'the_excerpt_rss', 'mytheme_the_excerpt_rss' );

function mytheme_the_excerpt_rss( $out ) {
	if ( mb_strlen( $out ) > 100 )
		$out = mb_substr( $out, 0, 100 ).'[...]';
	return $out;
}
ここでは抜粋テキストが100字を超えていた場合に、先頭の100字を切り出し、'[...]'を加えています。字数や改行数など、用途に応じて加工内容を調整してはいかがでしょうか。

関連

お勧めコンテンツ

wp_get_current_commenter(2014年10月3日 登録)

array wp_get_current_commenter( )
現在のコメント投稿者情報を取得する。

wp_get_post_tags(2011年6月2日 登録)

mixed wp_get_post_tags( [ int $post_id = 0 [ , array $args = array() ] ] )
投稿記事の投稿タグ情報を取得する。

sanitize_title(2013年12月4日 登録)

string sanitize_title( string $title [ , string $fallback_title = '' [ , string $context = 'save' ] ] )
タイトルから無効な文字を除外する。

the_archive_description(2014年12月23日 登録)

void the_archive_description( [ string $before = '' [ , string $after = '' ] ] )
アーカイブページの説明を表示する。

wp_get_attachment_image_url(2015年12月23日 登録)

mixed wp_get_attachment_image_url( int $attachment_id [ , mixed $size = 'thumbnail' [ , bool $icon = false ] ] )
添付投稿の画像URLを取得する。

最終更新日時 : 2011-07-21 18:29