Remonter des articles sans modifier leur date de publication

J’ai enfin trouvé comment résoudre un problème que j’avais depuis plusieurs années sur mon blog personnel : je souhaite remonter de temps en temps un article que j’ai mis à jour, mais sans toucher à sa date de publication. Faute de mieux, je mettais l’article en question en avant, ce qui le plaçait effectivement sur la page d’accueil. C’était une solution toutefois temporaire et l’article disparaissait quand je retirais la mise en avant.

voiretmangerfr-full
Le résultat final : le premier article affiché sur la page d’accueil a été publié en 2015.

Sans compter que je voulais aller un petit peu plus loin. Mon idée était de remonter un article comme si je venais de le publier, et ainsi de le voir en tête sur la page d’accueil, puis descendre la liste au fil du temps. Mais tout cela, sans modifier la date originale de publication qui reste une information importante à mes yeux. Difficulté supplémentaire, l’article mis à jour doit apparaître dans le flux RSS du blog, à nouveau comme s’il s’agissait d’une publication supplémentaire.

Pourquoi vouloir ce comportement ? J’écris sur des séries et je mets à jour un article unique à chaque nouvelle saison. Je pourrais créer un nouvel article à chaque fois, mais je préfère garder un article unique, modifié au fil du temps.

serie-saison-exemple.png
Exemple de mise à jour de série sur le blog.

Lire la suite « Remonter des articles sans modifier leur date de publication »

Publicités

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