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_oembed_get(2012年6月8日 登録)

mixed wp_oembed_get( string $url [ , mixed $args = '' ] )
oEmbedに対応したページの埋め込み用コンテンツを取得する。

remove_menu_page(2011年5月27日 登録)

mixed remove_menu_page( string $menu_slug )
メニューを削除する。

number_format_i18n(2012年11月4日 登録)

string number_format_i18n( mixed $number [ , int $decimals = 0 ] )
数値を1000位毎にグループ化して国際化対応にフォーマットする。

wp_debug_backtrace_summary(2012年6月15日 登録)

mixed wp_debug_backtrace_summary( [ string $ignore_class = null [ , int $skip_frames = 0 [ , bool $pretty = true ] ] ] )
デバッグ用の呼び出し情報を取得する。

wp_get_additional_image_sizes(2016年12月19日 登録)

array wp_get_additional_image_sizes()
拡張されたイメージサイズを取得する。

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