Afficher le nombre d’articles et de commentaires d’un auteur en dehors de la loop
Cette astuce permet d’afficher le nombre total d’articles et de commentaires écrits par un auteur en dehors de la loop de WordPress.
Si vous cherchez une fonction qui permet d’afficher le nombre d’articles et de commentaires postés par un auteur en dehors de la loop WordPress, alors cette astuce est faite pour vous :)
Copiez le code ci-dessous dans le fichier functions.php
de votre thème :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
function get_posts_and_comments_count() {
global $wpdb;
// On récupère l'id de l'auteur
$user_id = get_the_author_meta( 'ID' );
// On construit la requete pour récupérer le nombre de commentaire
$comment_count = $wpdb->get_var(
'SELECT COUNT( * ) AS total
FROM ' . $wpdb->comments . '
WHERE comment_approved = 1 AND user_id = ' . $user_id
);
// On récupère le nombre d'articles de l'auteur
$user = get_userdata($user_id);
$post_count = get_usernumposts($user->ID);
echo $user->display_name . ' a écrit ' . $post_count .' article(s) et posté ' . $comment_count . ' commentaire(s)';
}
[/pastacode]
Pour rappel, “la loop WordPress” est représentée par le code ci-dessous et l’appel à la fonction get_posts_and_comments_count()
doit se faire avant ou après ce code :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
if( have_posts() ) : while( have_posts() ) : the_post();
// ICI ON MET LE RESTE DE NOTRE CODE
endwhile; endif;
[/pastacode]
1 Commentaire
La fonction get_usernumpost est aujourd’hui dépréciée. Il faut utiliser ça à la place: http://codex.wordpress.org/Function_Reference/count_user_posts