我不擅长php ...当用户没有登录时我试图显示匿名图标并在登录时显示用户头像...以下是我获取的代码(wordpress install btw)< / p>
<div id="useravatar">
<?php
global $current_user;
if (!is_user_logged_in()) {
echo "<img src='"http://www.curious-howto.com/images/anonymous.jpg"'/>";
}
else { get_currentuserinfo();
echo get_avatar( $current_user->ID, 32 ); }
?>
</div>
但是这不起作用...有人可以指出我做错了,谢谢你,谢谢你们,非常感谢:)
答案 0 :(得分:1)
由于没有答案,这会在Google上弹出......
img标签中不应该有双引号。这打破了PHP。
echo "<img src='"http://www.curious-howto.com/images/anonymous.jpg"'/>";
应该是
echo "<img src='http://www.curious-howto.com/images/anonymous.jpg'/>";
答案 1 :(得分:0)
@Guyra指出引用错误,我还注意到自{WordPress 4.5以来get_currentuserinfo
已被弃用。
您可以挂钩get_avatar
功能并修改functions.php
文件中的输出。使用get_avatar
更好,如果用户已知,它将检索用户头像,如果不知道则使用灰色人。通过挂钩功能,您可以修改它并更改它与未知人员的工作方式:
add_filter( 'get_avatar','get_custom_avatar' , 10, 5 );
function get_custom_avatar($avatar, $author, $size, $default, $alt) {
if(stristr($author,"@")) $autore = get_user_by('email', $author);
else $autore = get_user_by('ID', $author);
if (isset($autore->ID) && $autore->ID > 0) {
// known people
return $avatar;
} else {
// unknown user
$avatar = "http://www.curious-howto.com/images/anonymous.jpg";
return "<img class='avatar' alt=\"".$alt."\" src='".$avatar."' width='".$size."' />";
}
}
Got this code and modified from here,也可以使用其他服务而不是Gravatar来生成头像。