WordPress 调用第三方头像

作者 : 阿灿 本文共1162个字,预计阅读时间需要3分钟 发布时间: 2020-12-9 共173人阅读

我们在进行oauth授权的时候都可以调用第三方的头像,一定程度上可以弥补很多人没有gravatar头像的缺陷。

原理其实很简单,我们只需要把头像用user_meta储存起来,然后再通过get_avatar的hook来调用即可。完全不需要修改主题的头像调用。

下面的代码添加到functions.php中,其中头像的调用部分根据你实际情况略有不同。

function fa_avatar_hook( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    if ( is_numeric( $id_or_email ) ) {

        $id = (int) $id_or_email;
        $user = get_user_by( 'id' , $id );

    } elseif ( is_object( $id_or_email ) ) {

        if ( ! empty( $id_or_email->user_id ) ) {
            $id = (int) $id_or_email->user_id;
            $user = get_user_by( 'id' , $id );
        }

    } else {
        $user = get_user_by( 'email', $id_or_email );   
    }

    if ( $user && is_object( $user ) ) {
            if( get_user_meta($user->data->ID,'weixin_avatar',true) ){
            $avatar = get_user_meta($user->data->ID,'weixin_avatar',true);
            $avatar =  str_replace('http','https',$avatar);
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        } else if( get_user_meta($user->data->ID,'sina_avatar',true) ){
            $avatar = get_user_meta($user->data->ID,'sina_avatar',true);
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }//根据你的存储头像的key来写
    }

    return $avatar;
}
add_filter('get_avatar', 'fa_avatar_hook' , 1 , 5);

以上代码已更新到github中的repo中,地址https://github.com/bigfa/wp-oauth

爱搜社,一个专注收集和分享网络源码资源的网站,建站辅导首选爱搜社
爱搜社 » WordPress 调用第三方头像

常见问题FAQ

如何通过本站投稿资源与作品?
本站为开放式资源共享平台,用户可通过后台或者联系站长进行发稿,同时可设置为收费作品,平台将收取百分之十的手续费,作品不得发布违禁,违法内容与广告,如被查出有关于黄赌毒等违法内容,平台将永久封禁帐号,并配合公安机关提供用户信息!
下载后的资源如何使用?
本站所有资源来源于网络,资源的使用一般附带在文章中,如果依旧不会使用 请联系作者或者寻求度娘帮助
免费下载或者VIP会员专享资源能否直接商用?
本站所有资源均来自互联网仅供学习,版权属于原作者所有!本站所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如有侵权请联系Email:85136926@qq.com 并附上相关证明 24小时内给予删除!