为 WordPress Gravatar 头像设置 alt 属性

59

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 属性了。
本方法来自于网络,非原创。

如果你有设计或者 WordPress 方面的项目需求,可以和我联系 Email:wwwzhouliang@gmail.com。

作者主页 邮箱 微博 腾讯微博 QQ Twitter Facebook Google+

共 59 条评论

  1. ikx.me iPhone越狱用户的福地 回复

    主题修改的不错啊

  2. 龙吟博客 回复

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

    1. 周良 (文章作者) 回复

      好吧

  3. 龙吟博客 回复

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

    1. 周良 (文章作者) 回复

      好吧

  4. cy 回复

    试试。

  5. cy 回复

    试试。

  6. 斌果 回复

    可以用这个代码:
    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' );

  7. 斌果 回复

    可以用这个代码:
    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' );

Leave a Reply

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 Required fields are marked *

返回顶部