WordPress为评论头像添加alt属性

来自:互联网
时间:2018-10-20
阅读:

这个方法是我自己手动修改,网上搜到的各种方法都是改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里面想添加什么可以自己定义。

返回顶部
顶部