Personnaliser le contenu des flux RSS sous WordPress : choisir le bon filtre

Personnaliser le contenu d’un article sous Worpdress est assez simple. Un filtre sur the_content dans le fichier function.php du thème permet d’intercepter la génération du texte et d’y appliquer des traitements.

<?php add_filter( "the_content", "ma_fonction_pour_le_site" ) ?>
<?php add_filter( "the_content_feed", "ma_fonction_pour_le_flux" ) ?>

Pour modifier le contenu du flux, le filtre n’est pas le même. Mais si dans la liste des filtres disponibles, the_content_rss et the_content_feed semblent identiques, on remarque que c’est the_content_feed qui est utilisé dans le fichier wp-includes/feed-rss2.php.

« Le filtre  the_content_feed est utilisé pour filtrer le contenu d’un post après qu’il soit récupéré depuis la base de donnée puis filtré par the_content et avant qu’il soit envoyé au lecteur deflux RSS ( ou le navigateur ) »

Généralement, il n’est pas nécessaire de faire appel à ce filtre, puisque comme l’indique la définition ci dessus, le filtre the_content est appliqué auparavent. Mais ça peut s’avérer utile si l’affichage des posts est modifié autrement ( directement dans single.php par exemple  )  ou que vous souhaitiez ajouter des informations complémentaires seulement pour le flux.

Comme l’indique la documentation WordPress, le filtre sur the_content_rss n’est donc plus à utiliser depuis les versions 2.9, bien que la fonction soit présente dans toutes les versions supérieures.

Cette entrée a été publiée dans blog, dev et taggé , , . Ajoutez le permalien à vos favoris.