Existe-t-il une fonction dans wordpress qui saisit tous les utilisateurs (identifiants d’utilisateur) qui ont commenté un message? J'ai le post id disponible.
La réponse à get_comments () de Poulomi Nag est correcte. Ce sera un peu plus efficace.
global $wpdb, $post;
$query = sprintf("SELECT user_id
FROM {$wpdb->comments}
JOIN {$wpdb->posts} ON {$wpdb->posts}.ID = {$wpdb->comments}.comment_post_ID
WHERE comment_post_ID = %d
AND comment_approved = '1'",
$post->ID);
$authors = $wpdb->get_col($query);
$authors = array_unique($authors);
$authors = array_diff($authors,array('0')); // Remove those where users are not registered
Une autre alternative consiste à utiliser WP_Comment_Query http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/comment.php#L186
L'extrait suivant est un moyen de le faire:
$args = array(
'status' => 'approve',
'post_id' => get_the_ID()
);
$comments = get_comments( $args );
foreach( $comments as $comment )
echo $comment->user_id;
Les identifiants d’utilisateur doivent bien sûr être utilisés pour un meilleur usage que echo
ing.