Lashon WordPress Langage

Conseils d'un concepteur de sites et Tutoriaux Wordpress

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. <!-- ENCART AFFICHER LES 3 DERNIERS ARTICLES MIS A JOUR -->
  2. <?php
  3. $today  = current_time('mysql', 1);
  4. $number = 3; // CHOIX NOMBRE TITRES ARTICLES A AFFICHER
  5. 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")):
  6. ?>
  7.  
  8. <h2><?php _e("Derniers articles modifiés"); ?></h2>
  9. <ul>
  10. <?php
  11. foreach($recentposts as $post) {
  12.     if($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
  13.     echo '<li><a href="'.get_permalink($post->ID).'"> ';
  14.     echo ''.the_title().'';
  15.     echo'</a></li>';
  16.  
  17. } ?>
  18. </ul>
  19. <?php endif; ?>
  20. <!-- 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.

Tags: , ,
Posté dans Astuces WP | Marqué , , | 9 Commentaires

9 Réactions à Affichez la liste de vos articles mis à jour

  1. Cyrille SALMON dit:

    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. billboc dit:

    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

  3. billboc dit:

    merci à toi – bonne soirée !

  4. billboc dit:

    par hasard as tu eu le temps de te pencher sur ce problème ?
    merci pour ton blog ;)

  5. chevrouz dit:

    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
    ^^

    • chevrouz dit:

      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"))

  6. luciole135 dit:

    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 !

  7. luciole135 dit:

    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

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">