Afficher les articles les plus commentés sans plugin sous WordPress

Vous souhaitez mettre en avant vos articles de votre blog WordPress les plus commentés ? Les commentaires constituent LA valeur ajoutée de votre site alors mettez en avant ces contenus qui ont suscité le débat.

Pour mettre en place une liste d’articles les plus commentés – mais cela fonctionne avec n’importe quel type de contenu, nous aurons recours à la fonction WP_Query pour créer une requête personnalisée.

Vous devez placer ces lignes de code dans le fichier PHP de votre thème qui affichera ces données. Ainsi, si vous souhaitez lister les 5 articles les plus commentés dans votre colonne latérale, placez le tout dans sidebar.php.

Le nom du fichier peut varier en fonction du thème. C’est une piste et un exemple d’emplacement que je vous donne. Pour comprendre la hiérarchie des templates sous WordPress, consultez le schéma officiel.

<h3><?php _e('Most commented posts', 'id4d'); ?></h3>

<ul>

<?php $popular = new WP_Query('orderby=comment_count&posts_per_page=4&ignore_sticky_posts=1'); ?>
<?php $count = 1; ?>

<?php while ($popular->have_posts()) : $popular->the_post(); ?>

<li id="comment<?php echo $count++ ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<div><?php comments_number('0','1','%'); ?></div>
</li>

<?php endwhile; ?>
</ul>

Je suis aller plus loin dans mon code en ajoutant un compteur qui ajoute un ID CSS pour chaque puce, l’idée étant de vous donner la possibilité de personnaliser le tout. Par exemple, en créant des barres de progressions pour créer l’illusion d’un classement des contenus les plus populaires vers les moins populaires.

Par défaut, les paramètres de ma requête sont :

  • orderby=comment_count : le coeur du sujet ! Classer la liste en fonction du nombre de commentaires obtenus ;
  • posts_per_page=4 : 4 articles à afficher ;
  • ignore_sticky_posts=1 : pour ignorer les articles mis en avant ;

Plus besoin de faire des requêtes SQL compliquées, comme c’était le cas auparavant. Avec WordPress, on ne réinvente pas !

12 commentaires

    1. Aurélien Denis auteur de l’article

      Pour ce type de situation, oui c’est pratique mais le recours aux plugins est souvent justifié pour gérer des composantes à part entière (multilinguisme, SEO, formulaires, etc.).

  1. Djib's

    Salut,

    Ce qui serait intéressant serait de pouvoir mettre les articles les plus commentés dans le mois, histoire que ce ne soit pas toujours les mêmes qui apparaissent.

    Tu aurais une solution pour ça ?

    Merci pour ton travail.

  2. Henri

    Bonjour,
    Je cherche à faire l’inverse su WordPress Oxygen, faire disparaître les « Recent Articles » sur la page d’accueil. J’ai sabré à la hache (dans page-template-front.php à partir de ) mais me trouve avec un site lent. Existe-t-il un plugin ou une méthode douce ?

  3. GsenPhotography

    Je cherche également le plugin qui me fera avoir des commentaires sur les articles

    Plus sérieusement, merci pour ce tuyau que je vais tester prochainement (si les commentaires arrivent…mais je persiste)

    Je trouve de l’aide de qualité sur WP Channel, tu as gagné un abonné fidèle, merci pour ton travail

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX