Ajoutez l’image à la une au flux RSS

Depuis quelques versions déjà, WordPress permet de définir tres simplement une « image à la une ». Qu’il s’agisse de l’une des images insérées à l’article ou une autre photo, cette image devient en tout cas associée à l’article et elle est utilisée par les thèmes en général. Sur mon blog par exemple, c’est cette image qui est affichée sur la page d’accueil, au-dessus du texte dans un article ou encore dans les listes d’archive et résultats de recherche.

Autant dire que, pour ce blog très visuel, ces images sont essentielles. À mes yeux, l’image suffit à identifier l’article, avant même le titre qui reste essentiel, naturellement. L’image à la une est donc une fonction très utile, et pourtant, pour une raison qui reste mystérieuse, WordPress ne l’utilise pas dans le flux RSS. On peut toutefois facilement ajouter cette image à son flux et voici ma méthode.

Même s’il existe plusieurs extensions capables de le faire, j’ai choisi de le faire sans, puisque le code à ajouter est très réduit. Si vous ne voulez pas toucher au thème que vous utilisez ou si un peu de PHP vous effraie, mieux vaut toutefois passer par un plugin, naturellement… Sans plus attendre, voici le code à ajouter au fichier functions.php de votre thème :

function rss_post_thumbnail($content) {
    global $post;
    if(has_post_thumbnail($post->ID)) {
        $content = '<p>' . get_the_post_thumbnail($post->ID, 'full') .
        '</p>' . get_the_content();
    }   
    return $content;
}

add_filter('the_content_feed', 'rss_post_thumbnail');

Deux ou trois remarques au sujet de ce code :

  • Ligne 4 : vous devez choisir la taille de l’image à insérer dans le flux RSS. Dans mon cas, j’ai choisi la taille par défaut nommée full qui correspond en fait à l’image originale. Vous devez choisir soit une taille par défaut de WordPress que vous pouvez ensuite gérer dans les réglages de médias (« Réglages » dans la barre latérale, puis « Médias »), soit utiliser l’une des tailles personnalisées définies par votre thème.
  • Ligne 10 : sur mon blog, je ne propose qu’un flux RSS avec les articles complets. Si vous souhaitez limiter le flux aux extraits seulement, il faudra utiliser cette ligne à la place : add_filter('the_excerpt_rss', 'rss_post_thumbnail');
  • L’intégration est très simple dans mon cas : je place l’image au-dessus du contenu, dans une balise p, en pleine taille. Vous pouvez aussi n’afficher qu’une miniature placée en haut à droite ou à gauche du texte, mais il faudra alors changer le code pour placer l’image dans une div spécifique.

rss

Publicités

5 commentaires sur “Ajoutez l’image à la une au flux RSS

  1. Bonjour Nicolas !

    Magie des internets, je suis tombé ici sans savoir que je connaissais déjà le rédacteur ^_^
    Et donc, je ne suis pas là pour rien, j’ai une question technique pour mon blog wordpress. Je viens d’acheter l’option de publication de l’app ByWord et je me demandais si tu connaissais la balise à insérer pour utiliser une image uploadée comme « image à la une », mais directement dans l’article..

    Merci !

    PS. J’aime beaucoup le travail que tu as fait sur ce blog !

    J'aime

    1. Bienvenue sur ce blog et merci pour le compliment ! 🙂

      Quant à ta question, je dois dire que tu me poses une colle. Si j’ai bien compris, tu veux mettre une image à la une dans le corps de l’article. C’est facile à faire depuis l’admin de WordPress, mais tu veux le faire avec ByWord c’est bien ça ?

      Il y a bien une solution, mais qui est un peu galère : tu peux connaître l’URL de l’image une fois mise en ligne, puisque c’est toujours la même chose : http://adressessedusite.fr/wp-content/annee/mois/nom-image.jpg par exemple. Donc tu pourrais l’insérer en Markdown, mais j’imagine que tu cherches une solution plus simple ?

      J'aime

      1. Alors ByWord vient d’être mis à jour avec la possibilité d’uploader tes photos sur le site directement depuis l’app. Tu rédiges ton texte, tu insères les photos qui restent liées à ta bibliothèque locale jusqu’à la publication de l’article, aprés quoi c’est le lien de la photo sur le blog qui apparait, automatiquement. De fait ce n’est pas compliqué d’obtenir ladite adresse. Le problème que je cherche à résoudre est donc d’assigner une des photos de l’article à l’image à la une, pour qu’elle apparaisse en vignette sur la page d’accueil de l’article. ByWord permet d’ajouter un champ au moment de la publication (en plus des traditionnels *Title, tags* et autre *categories*) avec les valeurs *key* et *value* et j’imagine que c’est grâce à ça que je vais pouvoir ajouter mon « image à la une ».

        J'aime

        1. Ah j’avais mal compris ! Alors non, malheureusement, on ne peut pas utiliser ByWord pour cela. Il faudrait que le logiciel gère les images à la une…

          En attendant, il faut le faire avec l’administration de WordPress. Ou alors installer un plugin qui définit automatiquement cette image à la une à partir des images mises en ligne dans l’article. En général, il choisira la première image.

          J'aime

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s