我有一个if ($comment->user_id)
块来选择默认的管理注释gravatar(与非用户的不同)。但我仍然希望如果用户使用其注册的电子邮件发表评论,即使他们在未登录时发表评论,也可以使用此gravatar。最好的测试方法是什么?
EDIT
我已经在使用
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\';
}
使用
<div><?php echo get_avatar($comment, 70, get_bloginfo(\'template_url\').$avatar); ?></div>
如果用户登录并发表评论,那么If语句确实得到了满足。但是,如果用户使用其注册的电子邮件(即绑定到其在WP中的登录),而未登录,
user_id
不存在,并显示未注册用户的图标。
user_id
is only stored if the user is logged in. 我还想测试给定的电子邮件是否与注册用户匹配,无论他们是否登录
最合适的回答,由SO网友:two7s_clash 整理而成
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\';
}
使用
<div><?php echo get_avatar($comment, 70, get_bloginfo(\'template_url\').$avatar); ?></div>
这似乎是我能理解的最简洁的方式。