Affichez la liste de vos articles mis à jour

Annoncez les updates importants de vos anciens articles à vos visiteurs

Si comme moi vous mettez souvent à jour certains de vos vieux articles pour infos complémentaires essentielles, il peut être utile d’afficher quelque part la liste de ceux-ci pour avertir vos visiteurs.

Ce que j’ai fait sur mon blog.  Voici le bout de code qui affiche les titres et liens vers les derniers articles mis à jour (modifiés). Vous pouvez insérer ce code n’importe où (sidebar.php, single.php, index.php).

Modifiez à la ligne $number dans ce code le chiffre qui définit le nombre des titres mis à jour selon votre convenance.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- ENCART AFFICHER LES 3 DERNIERS ARTICLES MIS A JOUR -->
<?php
$today  = current_time('mysql', 1);
$number = 3; // CHOIX NOMBRE TITRES ARTICLES A AFFICHER
if($recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' ORDER BY post_modified_gmt DESC LIMIT $number")):
?>
 
<h2><?php _e("Derniers articles modifiés"); ?></h2>
<ul>
<?php
foreach($recentposts as $post) {
    if($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
    echo '<li><a href="'.get_permalink($post->ID).'"> ';
    echo ''.the_title().'';
    echo'</a></li>';
 
} ?>
</ul>
<?php endif; ?>
<!-- fin derniers articles updatés -->
<!-- ENCART AFFICHER LES 3 DERNIERS ARTICLES MIS A JOUR -->
<?php
$today  = current_time('mysql', 1);
$number = 3; // CHOIX NOMBRE TITRES ARTICLES A AFFICHER
if($recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' ORDER BY post_modified_gmt DESC LIMIT $number")):
?>

<h2><?php _e("Derniers articles modifiés"); ?></h2>
<ul>
<?php
foreach($recentposts as $post) {
	if($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
	echo '<li><a href="'.get_permalink($post->ID).'"> ';
	echo ''.the_title().'';
	echo'</a></li>';

} ?>
</ul>
<?php endif; ?>
<!-- fin derniers articles updatés -->

Tout article mis à jour, soit par la fonction ‘modification rapide’ soit par réécriture de votre billet, donc modifié ou non, apparaîtra dans cet encart, incluant le dernier article en date.

Publicités

Publié par

Tikoun

Tikoun, créateur Web différent, c'est Barbara. Une conceptrice Web indépendante et spécialiste Wordpress qui travaille depuis Paris dans le monde entier, comme développeur informatique et se coupe en quatre pour vous faire gagner de l'argent via votre site web professionnel.

12 réflexions au sujet de « Affichez la liste de vos articles mis à jour »

  1. Bonjour,
    Je suis intéressé par ce code et j’ai une question.
    Je ne sais pas ou l’insérer dans un thèmes fait avec artisteer, sur le thèmes Twenty ten de base WordPress ça fonctionne parfaitement.
    Merci d’avance pour votre réponse.

  2. bonjour,
    moi j’utilise WP_Query(‘orderby=modified&order=DESC&posts_per_page=3’)
    mais je rencontre le problème que cela affiche aussi bien les billets modifiées que les billets nouvellement créés

    une solution ?

    merci et encore bravo pour votre site

    1. Bonsoir Bilboc
      En effet. Pas de solution pour le moment. Mais j’essaierai de me pencher là-dessus quand j’ai un peu de temps (pas avant une semaine). Auquel cas je rééditerai l’article.

  3. pour afficher seulement les post modifiés :

    changer :
    ("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' And post_modified_gmt != post_date ORDER BY post_modified_gmt DESC LIMIT $number"))

    enjoy
    ^^

    1. oula j ‘ai mal écrit désolé :

      ("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' And post_modified_gmt != post_date ORDER BY post_modified_gmt DESC LIMIT $number"))

  4. Merci pour ce code,
    Mais quant à le placer n’importe où, pas vraiment.
    Dans mon fichier sidebar.php, il n’est visible que s’il est inséré
    – soit tout au début, avant
    if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?>,
    – soit tout à la fin après le

    Peut-être que cela vient des menus personnalisés qui sont placés dans la sidebar avec les widgets, mais je n’ai pu le placer que là, ailleur, rien ne s’affiche !

  5. J’ai ajouté ce tri car sinon, cela affiche aussi mes pages statiques (qui elles sont constamment mises à jour sur mon site, donc pas la peine que j’affiche leur modification dans mon cas) :
    if($recentposts = $wpdb->get_results(« SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‘publish’ AND post_type = ‘post’ AND post_modified_gmt

  6. Merci pour ce code, je ne comprend pas :
    post_modified_gmt < '$today'

    Ce que je veux faire moi (car chaque fois que je publie un article je constate des petites erreurs et je corrige tout de suite) ne pas afficher ces articles, donc je veux afficher les articles que entre la date de création et la date de modification il y a au moins un jour !

    Pouvez vous nous aider à faire ce code ?
    Merci

    1. Je viens de publier un widget sous forme de plugin qui fait exactement cela.

      – Il affiche la liste des « n » derniers articles mis à jour mais quii ne sont pas les « n » derniers écrits.
      – de plus, il met en cache cette liste dans un transient qui est actualisé à chaque édition d’un article (ou page)
      – il est compatible avec WordPress multisite et est translation ready (déjà traduit en français)

      Il est sur le dépôt de WordPress ici https://wordpress.org/plugins/recently-updated-posts-widget/

Laisser un commentaire