私は<!--more-->
タグで区切られた長くて長い投稿を使用するWordPressインストールを持っています。しかし私のRSSフィードでは、投稿全体が表示されます。
カスタムタグとは別に、WordPressフィードに表示される量を制限する方法や、 "More"タグまで表示する方法はありますか。
読み取り設定でFull text
とSummary
のどちらかを選択できます。
Summary
を選択した場合、
a)フィードサマリーの単語数を制御するには、次のようにします。
add_filter('excerpt_length','custom_excerpt_length');
function custom_excerpt_length( $num_words ){
return 30; // number of words to show
}
要約内のデフォルトの単語数は55
です。
b)投稿コンテンツで<!--more-->
を使用してフィードの概要を定義したい場合は、以下を使用できます。
add_filter( 'the_content', 'custom_content_feed' );
function custom_content_feed( $content ){
if( is_feed() ){
// <!--more--> used in the post content:
if( strpos( $content, '<span id="more-') !== FALSE ){
// remove the excerpt length limit
add_filter( 'excerpt_length', 'custom_long_excerpt_length' );
// get the content before <!--more-->
$content = stristr( $content, '<span id="more-', TRUE );
// add the default 'read more' symbols at the end:
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
$content .= $excerpt_more;
}
}
return $content;
}
function custom_long_excerpt_length( $num_words ){
return 99999;
}
c)a)とb)を一緒に使うこともできます。