この記事は最後に更新してから1年以上経過しています。

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字を切り出し、'[...]'を加えています。字数や改行数など、用途に応じて加工内容を調整してはいかがでしょうか。

最終更新 : 2011年07月21日 18:29


お勧め

set_transient(2019年4月23日 更新)

bool set_transient( string $transient, mixed $value [ , int $expiration = 0 ] )
トランジェントの値を設定する。

wp_should_replace_insecure_home_url(2021年3月19日 更新)

bool wp_should_replace_insecure_home_url()
コンテンツ内のサイトアドレス('home')をhttpからhttpsに書き換えるべきか調べる。

get_oembed_response_data(2018年12月7日 更新)

mixed get_oembed_response_data( mixed $post, int $width )
oEmbedレスポンス情報を取得する。

apply_filters(2022年11月8日 更新)

mixed apply_filters( string $tag, mixed $value [ , ...$args ] )
フィルターを実行する。

get_next_post_link(2015年5月28日 更新)

string get_next_post_link( [ string $format = '%link »' [ , string $link = '%title' [ , bool $in_same_cat$in_same_term = false [ , mixed $excluded_categories$excluded_terms = '' [ , string $taxonomy = 'category' ] ] ] ] ] )
直後の投稿ページのリンクを取得する。