Ajouter une miniature dans le flux RSS de WordPress

Les flux RSS de WordPress n'affichent pas de miniatures par défaut, les fameuses images à la une utilisées pour accrocher visuellement vos visiteurs. Une technique PHP permet de les ajouter facilement.

Une fois connecté au back office de WordPress, déroulez le menu Apparence puis Editeur. Editez ensuite le fichier functions.php.

Vous pouvez également passer le client FTP en localisant le fichier en question dans le dossier /wp-content/themes/NOM_DU_THEME :

<?php function wpc_rss_miniature($excerpt) {
global $post;

$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_excerpt();

return $content;
}
add_filter('the_excerpt_rss', 'wpc_rss_miniature');
add_filter('the_content_feed', 'wpc_rss_miniature'); ?>

N’oubliez pas de sauvegarder les changements.

Pour vérifier le résultat, ouvrez le flux RSS en ajoutant /feed dans l’URL de votre site WordPress.

Si aucun changement n’apparaît, videz le cache du navigateur.

Capture d'écran - Un flux RSS WordPress avec miniature
Les images à la une sont présentes dans le flux RSS

Dans les lignes de code proposées, l’extrait de l’article est repris. Prenez soin de remplacer get_the_excerpt par get_the_content pour afficher l’intégralité du contenu.

Il existe de nombreux moyens pour personnaliser le flux RSS, un outil indispensable pour faire de la veille technologique. Dommage que les navigateurs ne mettent pas plus en valeur cette fonctionnalité.

38 commentaires
  1. Merci pour cet article intéressant.
    Petite question idiote : pourquoi faut-il que l’image soit entre balises ?

    1. Aurélien Denis auteur de l’article

      Bah rien d’obligé tu fais ce que tu veux.

  2. Chez moi les miniatures ne s’affichent pas, j’ai même affiché le flux dans un navigateur que je n’avais jamais utilisé pour afficher mon site (évitant ainsi un problème de cache) et ça ne s’affiche vraiment pas.

    1. Aurélien Denis auteur de l’article

      Tu utilises le module Image à la une ?

  3. ça ne va pas… Plus aucun article n’est affiché en rss

    Par contre si je retire le get_the_post_thumbnail et que je mets à la place : ‘********’ par exe. , alors le flux affiche bien l’extrait plus les ******

  4. Ne faut-il pas ceci :

    add_theme_support( ‘post-thumbnails’ );

    ?

    1. Aurélien Denis auteur de l’article

      Oui il faut ajouter cette ligne si le thème ne supporte pas cette fonctionnalité dans le fichier functions.php.

      1. Aurélien Denis auteur de l’article

        Euh de quel codage parles-tu ?

  5. Bonjour,

    LA technique fonctionne à merveille, mais mes image sont super grande. Y-a-t-il un moyen de les réduire dans le flux RSS?

    Merci d’avance

    DDX

    1. Aurélien Denis auteur de l’article

      Tu dois pouvoir modifier get_the_post_thumbnail pour aller chercher une image de taille (miniature, moyenne, large ou origine) standard ou personnalisée si elle existe dans le thème.

      1. Baltox (@Baltox)

        Oui effectivement, moi j’ai du mettre :

        get_the_post_thumbnail($post->ID, ‘full’)

        pour qu’il me retourne l’image au format d’origine car sinon il me retourné l’image coupée en haut et en bas…

  6. Thecommunithink

    Bonsoir,
    après avoir inséré la ligne de code, mon wordpress affiche une page blanche, impossible de me loguer ou d’ afficher une page de site. lorsque je retire le bout de code, tout rentre dans l’ordre , merci de me donner le truc pour contourner ce conflit

    1. Aurélien Denis auteur de l’article

      Il faut placer le code entre les balises PHP ou ne pas fermer les lignes de code de l’article si le thème d’origine ne le fait pas (exemple : le Twenty Eleven).

  7. Bonsoir

    J’ai inséré votre code, et j’ai un < en trop. Du coup, tout le système est bloqué. Je ne sais pas comment re-rentrer dans le fichier pour supprimer le < en trop…

    Merci d'avance pour votre réponse.

  8. J’ai finalement réussi à résoudre le problème en passant par le FTP, mais je ne sais toujours pas comment inclure votre code sans générer d’erreurs…

    1. Aurélien Denis auteur de l’article

      Il ne faut pas mettre les balises PHP ouvrantes et fermantes si elles sont déjà présentes dans ton code.

    1. Aurélien Denis auteur de l’article

      Difficile à dire sans intervenir sur ton site directement. Par contre, FeedBurner n’a aucun lien avec cette astuce qui est un service indépendant proposé par Google.

  9. J’adore ton astuce par contre j’ai un petit soucis comment passer l’argument « petite image à la une » ou même la redimensionner ?
    Perso sur mon site l’image est en très grand ( c’est un site de photographe)

  10. Naruto VF

    j’ai fait ca mais ca m’a donner les message d erreur suivant :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    1. Aurélien Denis auteur de l’article

      Il faut voir avec l’hébergeur mais il n’y a pas de raisons que cela pose soucis.

  11. nicomaes42

    Merci pour ce tuto, savez-vous comment on peut faire pour récupérer cette image via le widget RSS de base de WordPress ? ($item->get_description() récupérer seulement le texte)

  12. appleigeekaapl

    J’ai essayé de mettre en place ce code… Et tout à planté ! Meme en ajoutant le code : add_theme_support( ‘post-thumbnails’ );

    Que faire ? Merci.

    1. Aurélien Denis auteur de l’article

      Sûrement les balises ouvrantes et fermantes de PHP qui sont en trop… il faut passer par un client FTP pour faire des modifications si l’on ne s’y connait pas trop.

  13. Bonjour j’ai tenté d’utiliser votre code, voici mon message d’erreur :

    Parse error: syntax error, unexpected ‘<' in /home/bdefbscl/www/wp-content/themes/formation/functions.php on line 991

    que dois je faire pour ramener mon site à la vie?
    merci

    1. Aurélien Denis auteur de l’article

      Selon l’erreur, vous avez une balise ouvrante en trop dans le fichier functions.php.

  14. Merci pour l’astuce! ça marche très bien pour moi aussi.

  15. Délice Céleste

    C’est magique merci ♥
    (au début j’avais une erreur parce que j’avais laissé les balises ouvrante et fermante, gros stress ahah

  16. Bonjour, merci de l’astuce, et cela évite un plugin en plus.
    Je me suis inspiré de ton code et j’ai ajoute mon bidouillage perso pour n’afficher que la miniature, et surtout qu’elle apparaisse alignée à gauche avec le texte à droite (et non tout à la suite) C’est surement un peu sale comme méthode mais j’ai le résultat que je voulais.

    Pour observation par les plus compétents, comme on dit.

    /* img miniature flux rss*/
    function wpc_rss_miniature($excerpt) {
    global $post;

    $content =  » . get_the_post_thumbnail($post->ID, ‘thumbnail’, array(‘style’ => ‘float: left; margin-right: 2px;’)) .
     » . get_the_excerpt();

    return $content;
    }
    add_filter(‘the_excerpt_rss’, ‘wpc_rss_miniature’);
    add_filter(‘the_content_feed’, ‘wpc_rss_miniature’);

  17. anaisrade

    Bonsoir,

    Merci pour ce code. Malheuresement ca a strictement rien changé dans mon flux..
    J’essaie d’afficher les images en vain, afin qu’elle apparaisse dans ma newsletter automatique de mailchimp..
    Est ce que vous voyez quelquechose qui ne collerait pas ?

    Merci !

    http://bowl-and-spoon.com/feed/

    1. Aurélien Denis auteur de l’article

      Je vois bien les images dans votre flux RSS…

Les commentaires sont fermés.