给 wordpress 头像加上 alt 标签

2016-03-08 06:10 422 8 条评论 龙笑天下

不知道为什么,wordpress 几乎所有的博客头像标签都没加 alt!但是懂 SEO 的都知道,图片的 alt 属性是一定要加的,搜索引擎的爬虫是无法读取图片上到底是什么内容的,只能靠它的 alt 标签,没有了 alt 标签的图片,对 SEO 是非常不好的。抛开这个不说,反正加上 alt 标签又不会出什么问题,还是加上的好。

WordPress 默认使用的是 Gravatar 头像,通过 get_avatar() 函数调用:

<?php echo get_avatar( $id_or_email, $size, $default, $alt ); ?>

利用 get_avatar() 函数的第四个属性 $alt 可以设置返回代码的 alt 标签,但是大多数人在使用的时候都不会去设置,也就变成了空白。

要给 wordpress 评论里面的头像加上 alt 标签,有以下 2 种方法。

第一种:修改代码中评论头像的调用方式

只需在调用头像的地方将第四个参数都填进去即可,第四个参数即是 alt...比如留言评论上,像下面这样改:

echo get_avatar( $comment, $size = '32', $default = get_bloginfo('wpurl').'/avatar/default.jpg',get_comment_author());

第二种:自定义头像图片的 alt 标签

在 functions.php 中加入下面的代码,摘自 @EndSkin:

/**
* WordPress 自定义头像图片的 alt 标签 By ILXTX.COM
* https://www.ilxtx.com/wordpress-avatar-alt.html
*/
function lxtx_avatar_alt( $avatar, $id_or_email ){
    if( $id_or_email == '博主的 email 地址' || $id_or_email === 1 ){//填上博主的 email 地址
        $alt = '博主 Gravatar 头像';//博主的 alt 标签内容
    }else{
        $alt = 'Gravatar 头像';//普通访客的 alt 标签内容
    }
    $before = strpos( $avatar, "alt='" );
    $after = strpos( $avatar, "'", $before );
    if( $before === false || $after === false ) return $avatar;
    $alt = esc_attr( $alt );
    return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'lxtx_avatar_alt', 10, 2 );

当然,也可以参考下面这个头像本地化缓存的方法~

WordPress 头像本地化缓存最有效方法-BG
WordPress 头像本地化缓存最有效方法

WordPress 头像本地化缓存最有效方法

由于 gravatar 头像被墙,导致头像加载很慢,因此在网上搜索“wordpress 头像缓存优化”的方法,结果搜到的基本都是不有效,甚至是不可用的,偶然在露兜博客看到了一个方法,试用后,感觉非...

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2016-03-01

2016-03-31

发表评论

表情 格式 贴图 链接 私密 签到
评论
正在努力加载中...
扫一扫二维码分享
×