这个方法是我自己手动修改,网上搜到的各种方法都是改wp-includes/pluggable.php或者wp-includes/comment-tempalet.php文件,不过我改了没用,主题评论列表采用的是wp函数wp_list_comments(),实在找不到原因,只能把get_avatar()函数换了,直接换成<img />的形式,折腾了两下还是搞定了。
首先要从get_avatar函数里面扒几个参数下来:
$host = 'http://0.gravatar.com'; // 可以替换为多说服务器:http://gravatar.duoshuo.com $emAIl = get_comment_author_email(); //获取评论者的邮箱 $email_hash = md5( strtolower( trim( $email ) ) ); //md5加密邮箱地址 $out= "$host/avatar/"; //输出头像地址 $out .= $email_hash; $out .= '?s=36'; //头像大小 $input_alt = get_comment_author($id); // 填入alt的内容,这里是评论者的昵称
然后是引用上面这些参数,在输出中替换掉get_avatar()函数,一般functions.php输出头像都会有这样的代码:
echo get_avatar(comments->comment_author_email, $size='36');
替换之后就是
echo <<<EOF <img src="{$out}" class="avatar" width="36" height="36" alt="{$input_alt}"> EOF;
也可以写成自定义函数:
//输出自定义头像 function inlojv_avatar($size) { $host = 'http://www.gravatar.com'; // 可以替换为多说服务器:http://gravatar.duoshuo.com $email = get_comment_author_email(); $email_hash = md5( strtolower( trim( $email ) ) ); $out= "$host/avatar/"; $out .= $email_hash; $out .= '?s='.$size; $input_alt = get_comment_author($id); echo <<<EOF <img src="{$out}" class="avatar" width="{$size}" height="{$size}" alt="{$input_alt}"> EOF; }
头像大小得自己控制,alt里面想添加什么可以自己定义。