Boostez votre communauté avec les meilleurs commentateurs Wordpress
Publié le 13 juin 2010 par Seomix @rochdaniel
Un site vit grâce à ses lecteurs et à sa communauté.
Pour remercier et inciter à participer vos visiteurs, affichez vos commentateurs les plus bavards !
Affichez les meilleurs commentateurs de WordPress
Dans cet article :» » » » » » » »
Affichez vos plus grands commentateurs
Le code
Le code a été repris d'un article d'Online Blogger, auquel j'ai ajouté des modifications au niveau des trackbacks et de la date :
Code block // Mes meilleurs commentateurs
function topCommentators ( $limit = 4, $show_avatar = true, $avatar_dimensions = 40 ) {
global $wpdb;
$result = $wpdb->get_results('
SELECT
COUNT(*) AS comment_count,
comment_author_email,
comment_author,
comment_date_gmt,
comment_author_url
FROM '.$wpdb->comments.'
WHERE
comment_type!="pingback" AND
comment_type!="trackback" AND
comment_approved="1" AND
user_id="0"
GROUP BY comment_author_email
ORDER BY
comment_count DESC,
comment_date_gmt DESC
LIMIT '.$limit);
foreach( $result as $commentator ) { ?>
<li>
<?php if( $show_avatar ) : ?>
<span class="avatarfloat">
<?php echo get_avatar( $commentator->comment_author_email, 40 );?>
</span>
<?php endif; ?>
<?php if ( $commentator->comment_author_url ) : ?>
<a href="<?php echo $commentator->comment_author_url;?>" title="<?php echo $commentator->comment_author?>" target="_blank">
<?php endif;
echo $commentator->comment_author;
if( $commentator->comment_author_url ) : ?></a><?php endif; ?>
<?php echo $commentator->comment_count?> mixages</li>
<?php
}
}
Les CSS pour que ce soit joli (a adapter en fonction de votre thème) :
Code block ul#topcomm li {
line-height:1.6em;
padding:5px 5px 5px 40px}
ul#topcomm li {
line-height:3em;
clear:both;
background:none;
margin-left:-25px}
.avatarfloat {
float:left;
padding:0 5px}
Puis ajouter le code suivant dans vos pages pour afficher vos meilleurs commentateurs :
Code block <?php if (function_exists('topCommentators')) { echo topCommentators(); } ?>
En gros, la fonction compte le nombre de commentaires selon l'adresse email de l'utilisateur. Il omet l'auteur dont l'ID est 0 (l'admin) ainsi que tous les trackbacks, les pings et les commentaires non approuvés. Il affiche ensuite l'avatar du commentateur, son nom (avec l'url de son site s'il en a un) et le nombre de commentaires qu'il a laissé sur votre site.
Adapter le code
Les avatars des commentateurs
Par défaut, mon code va afficher l'avatar selon les paramètres définis dans votre backoffice, mais avec une taille de 40px.
Pour changer la taille, modifiez la première ligne du code $avatar_dimensions = 40.
Si vous souhaitez ne pas afficher les avatars, remplacer $show_avatar = true par $show_avatar = false.
Les URLS
Idem dans ce cas-ci. Si vous souhaitez ne pas afficher les url de vos commentateurs, remplacez la fin du code par :
Code block foreach( $result as $commentator ) { ?>
<li>
<?php if( $show_avatar ) : ?>
<span class="avatarfloat">
<?php echo get_avatar( $commentator->comment_author_email, 40 );?>
</span>
<?php endif; ?>
<?php echo $commentator->comment_author;?>
<?php echo $commentator->comment_count?> mixages</li>
<?php
}
}
A l'inverse, rajoutez rel=nofollow après target="_blank" si vous souhaitez que les liens ne soient pas suivis par les moteurs de recherche.
Ne pas prendre en compte certains membres
Si comme moi vous souhaitez omettre certains membres, modifiez la ligne suivante en modifiant l'ID du membre ici : user_id="0"
Vous trouverez l'ID de vos membres en allant sur l'onglet utilisateur de votre admin. Passez la souris sur le nom de l'utilisateur et récupérez l'ID dans l'url affichée.
Pour une liste de membres, utilisez la syntaxe suivante : user_id IN (0, 10, 22);
L'url et le nom du commentateur
Je n'ai pas trouvé comment indiquer quel nom et url sélectionner (dans le cas où vos commentateurs en changent à chaque article). Par défaut, le code prendra le nom et l'url indiqués dans le premier commentaire posté. Il vous suffira alors de modifier celui-ci pour afficher le texte et le lien souhaité.
Pourquoi affichez vos meilleurs commentateurs ?
Maintenant, parlons de l'utilité du hack. Il est double :
En affichant sur toutes vos pages vos plus grands commentateurs, vous remerciez ceux qui participent à votre blog.
Vous incitez les visiteurs à commenter vos articles pour apparaître dans cette liste.
Revers de la médaille, vous aurez un peu plus de spam à modérer.
Source :
Top Commentators Without a Plugin (Online Blogger)