为 WordPress Gravatar 头像设置 alt 属性

珍爱生命,远离“匿名”应用
四月 15, 2014
使用 Github Pages 建独立博客
四月 27, 2014

为 WordPress Gravatar 头像设置 alt 属性

WordPress 程序使用的是 Gravatar 作为评论者的头像,这应该是众所周知的事情。但是不知道大家有没有发现,Gravatar头像的Alt属性为空值,这一点显然不符合w3c的标准。木屋这里提供一个可以为 WordPress Gravatar 头像设置 alt 属性的方法。

编辑网站根目录下的wp-includes/pluggable.php,查找 get_avatar 语句。

[cce_php]
function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {  
    if ( ! get_option('show_avatars') )  
        return false;  

    if ( false === $alt)  
        $safe_alt = '';  
        else 
        $safe_alt = esc_attr( $alt );
[/cce_php]

修改为下面的代码即可:

[cce_php]
function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {      
    if ( ! get_option('show_avatars') )      
        return false;      

    if ( false === $alt)      
        $safe_alt = 'Gravatar';  //Alt属性为“Gravatar”
//      $safe_alt = get_comment_author($alt);  //有说这样写就输出用户名,实测Alt属性为“匿名”
    else     
        $safe_alt = esc_attr($alt);    
[/cce_php]

嗯,然后到这里,就可以为你的为 WordPress Gravatar 头像设置 alt 属性了。
本方法来自于网络,非原创。

31 Comments

  1. 勺子说道:

    这个Alt是干嘛用的?

  2. 目测调用get_avatar()的时候,没有传入$alt 的值。默认false,就只能传回匿名了

  3. bigtan说道:

    好吧,用的是多说,不知道需要修改不

  4. 大发说道:

    我的评论都是异步载入的,搜索引擎看不到~

  5. 品酒居说道:

    貌似意义不大,可以直接调用名字

  6. Louis Han说道:

    没大有什么用处啊

  7. zrqx008说道:

    升级Wordpress后就悲剧了

  8. 澜铯峢痕说道:

    留言是一种美德,欢迎回访留言!

  9. zhouleyu说道:

    没大有什么用处啊

  10. zhouleyu说道:

    升级Wordpress后就悲剧了

  11. 昵图网说道:

    本方法来自于网络,非原创。

  12. 昵图网说道:

    看起好高端的样子。

  13. zhouleyu说道:

    没大有什么用处啊

  14. zhouleyu说道:

    升级Wordpress后就悲剧了

  15. X_X说道:

    你好啊 请教个问题<?php query_posts(‘showposts=2’: ?><?php if(have……while… ?><?php endwhile;endif ?><?php query_posts(‘showposts=3&offset=2’); ?><?php endwhile;endif; ?>导致分页没页显示都一模一样怎么办

  16. 龙吟博客说道:

    我用的ZB的PHP版,感觉更小巧

  17. 斌果说道:

    可以用这个代码:
    function Bing_avatar_alt( $avatar ){
    $alt = 'alt 标签的内容';//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', 'Bing_avatar_alt' );

发表评论

电子邮件地址不会被公开。 必填项已用*标注