La meilleure façon de savoir si un commentaire est d'un utilisateur?
Question
J'ai un bloc if ($comment->user_id)
pour choisir un commentaire admin par défaut gravatar (différent que celui d'un non-utilisateur). Mais je voudrais encore ce gravatar à utiliser si un commentaire utilisateur à l'aide de leur e-mail enregistrée, même s'ils commentent sans connecté. Quelle est la meilleure façon de tester cela?
EDIT
J'utilise déjà
if ($comment->user_id){
//comment by registered user
$avatar = '/images/bird_comments_big.png';
}else{
//comment by none registered user
$avatar = '/images/bird_comments_pink.png';
}
avec
<div><?php echo get_avatar($comment, 70, get_bloginfo('template_url').$avatar); ?></div>
Si l'utilisateur est connecté en fait un commentaire, l'instruction if est en effet remplie. Toutefois, si l'utilisateur utilise son e-mail enregistrée (à savoir lié à leur connexion dans WP) sans apporter connecté, user_id
n'est pas présent, et l'icône de l'utilisateur apparaît non enregistrés. user_id
ne sont stockées que si l'utilisateur est connecté.
Je veux également tester si l'e-mail matchs donné un utilisateur enregistré, peu importe si elles sont connectés ou non.
La solution 2
if ($comment->user_id || email_exists($comment->comment_author_email)){
//comment by registered user
$avatar = '/images/registered_user.png';
}else{
//comment by none registered user
$avatar = '/images/non_registered_user.png';
}
avec
<div><?php echo get_avatar($comment, 70, get_bloginfo('template_url').$avatar); ?></div>
Il semble à peu près aussi une façon succincte je peux comprendre.
Autres conseils
Vous pouvez simplement vérifier
if ($comment->user_id > 0){
//comment by registered user
}else{
//comment by none registered user
}