Changer la longueur de la RSS Feed

Notez que cet article a été écrit pour la première fois il y a plus de 4 ans, mais n'est pas nécessairement obsolète.

Lorsque l’on veut afficher sur une page extérieure, les résumés des différents articles de notre blog, on utilise le RSS Feed. Ce fichier au format xml est lu pour afficher les informations qu’il contient. En particulier, il contient une balise <description> qui est le début de l’article the_excerpt. Pour créer cette balise, WP utilise la fonction the_excerpt_rss(). Cette fonction limite l’extrait à une cinquantaine de caractères. Si vous trouvez cela trop court, il va falloir agir sur ce crochet (hook).

excerpt_rss d'origineexcept_rss à 150 caractères

Dans le fichier functions.php de notre thème, nous allons redéfinir la fonction. On ajoute ceci:

Et l’on va redéfinir l’extrait à prendre dans la fonction xbs_excerpt_rss().

the_excerpt_rss() agit sur la chaine $content qui contient le post. On enlève les shortcodes, les balises html, et l’on ne garde que les $chars_count premiers caractères, ici 150. On ajoute le caractère « … » à la fin de la chaine.

Afin d’éviter les erreurs de décodage du fichier xml, on nettoie l’extrait d’erreurs éventuelles concernant l’encodage UTF-8.

Voilà, l’extrait fait la longueur désirée.

Il est également bon d’encadrer le titre de l’item de tags <![CATA[…]]> afin d’éviter les erreurs XML si le titre comporte des caractères HTML comme  &rsquo; : .

On écrit dans functions.php :

Et si l’on veut augmenter ou diminuer le nombre d’articles/entrées du fichier RSS, le réglage se fait dans Réglages ⇒ Lecture. On ajuste la valeur de Les flux de syndication affichent les derniers.

Nombre d'entrées dans le flux RSS
Nombre d’articles à syndiquer dans le flux RSS

Et hop, contrôle total sur le fichier RSS de votre blog.

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.