J'ai une installation WordPress qui utilise parfois des publications longues et longues délimitées par la balise <!--more-->
. Cependant, sur mes flux RSS, l'intégralité du message est affiché.
Existe-t-il un moyen, en dehors des balises personnalisées, de délimiter ce qui est affiché dans un flux WordPress ou d'afficher suffisamment jusqu'à la balise "Plus"?
Vous pouvez choisir entre Full text
et Summary
dans les paramètresReading:
Si vous sélectionnez Summary
, alors
a) Pour contrôler le nombre de mots dans le résumé du flux, vous pouvez utiliser:
add_filter('excerpt_length','custom_excerpt_length');
function custom_excerpt_length( $num_words ){
return 30; // number of words to show
}
Le nombre de mots par défaut dans le résumé est 55
.
b) Si vous souhaitez utiliser <!--more-->
dans le contenu de l'article pour définir le récapitulatif du flux, vous pouvez utiliser les éléments suivants:
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) Vous pouvez également utiliser a) et b) ensemble.