我们可以利用存储的微信用户相关的信息去做一些事情,比如查询某个城市的用户列表 .. 这里我们在给用户签发 token 的时候,可以用一下用户的微信头像 ..
打开自定义插件的这个 php 文件 .. 之前我们在这里添加了一个 ninghao_wp_rest_jwt_alter 函数 .. 它里面修改了签发的 token 里的数据 ..
在这个函数里,再添加一个 $wx_avatar .. 它的值用一下 get_user_meta ,得到用户的 meta 信息,先告诉它用户的 id 号,这里可以使用 $user 里的 ID 这个属性 .. 第二个参数是要得到的 meta 信息的名字 .. wx_avatar_url .. 第三个参数设置成 true .. 这样可以得到一个单一的值,不然会得到一个数组 ..
下面判断一下 .. 如果有 $wx_avatar .. 我们可以再去处理一下 $wx_avatar 的值 .. 用一下 substr ,处理的是 $wx_avatar .. 位置是 0 ,长度是 -1 .. 因为用户微信头像的地址里面,最后一部分表示的是用户的头像的尺寸 .. 默认它的值是 0 .. 这样头像是一个 640 像素的图片 ..
这里我们去掉了最后一个 0 .. 然后再去配置一下 .. 让 $wx_avatar 等于一个数组 .. 添加一个 lg .. 对应的值是 $wx_avatar 加上一个 132 .. 这样会得一个 132 像素的头像 ..
再添加一个 md .. 它的值是 $wx_avatar 加上 96 .. 最后再添加一个 sm 。它的值是 $wx_avatar 加上一个 46 ..
下面再让 $data 里的 user_avatar 的值等于上面定义的这个 $wx_avatar ..
然后把下面这个设置 user_avatar 的代码放在定义 $wx_avatar 的上面 ..
这样如果找到了用户的微信头像 .. 就在签发的 token 里面使用用户的微信头像 ..
测试
下面再去试一下 .. 退出登录 ...
再按一下 微信登录 .. 在个人档案页面上现在显示的就是用户的微信头像 ..