wordpress的头像系统一直用的是全球通用头像gravatar。我想在自己的项目中用这个头像系统。翻了一遍wordpress之后简单的修改得到了自己想要的gravatar函数 get_avatar_src。这函数返回所要求的头像地址。部分功能还没有实现, 可以根据自己的需求再改一改..../**<br>
* 返回用户的avatar头像地址<br>
*<br>
* @param unknown $id_or_email<br>
* 用户ID或邮箱地址<br>
* @param string $size<br>
* 大小<br>
* @param string $default<br>
* 默认头像<br>
* @param string $alt <br>
* @return string<br>
*/<br>
function get_avatar_src($id_or_email, $size = '96', $default = '') {<br>
if (! is_numeric ( $size ))<br>
$size = '96';<br>
<br>
$email = '';<br>
if (is_numeric ( $id_or_email )) {<br>
// id传入的时候处理<br>
} else {<br>
// 否则传给$email<br>
$email = $id_or_email;<br>
}<br>
<br>
// 默认头像<br>
if (empty ( $default )) {<br>
$avatar_default = ''; // get_option('avatar_default'); //获取默认设置<br>
if (empty ( $avatar_default )) // 如果没有设置,则定义默认<br>
$default = 'mystery';<br>
else<br>
$default = $avatar_default;<br>
}<br>
<br>
if (! empty ( $email )) // 如果不为空, 生成hash代码<br>
$email_hash = md5 ( strtolower ( trim ( $email ) ) );<br>
<br>
if (! empty ( $email )) { // 如果邮箱不为空,则使用邮箱地址生成链接<br>
$host = sprintf ( "http://%d.gravatar.com", (hexdec ( $email_hash ) % 2) );<br>
} else // 否则使用默认地址<br>
$host = 'http://0.gravatar.com';<br>
<br>
$host = str_replace ( array (<br>
"www.gravatar.com",<br>
"0.gravatar.com",<br>
"1.gravatar.com",<br>
"2.gravatar.com" <br>
), "gravatar.duoshuo.com", $host );<br>
<br>
<br>
if ('mystery' == $default)<br>
$default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')<br>
elseif ('blank' == $default)<br>
// 如果为空(blank), 则获取空白图像<br>
$default = $email ? 'blank' : ''; // includes_url( 'images/blank.gif' );<br>
elseif (! empty ( $email ) && 'gravatar_default' == $default)<br>
// 如果邮箱已有, 清空默认头像<br>
$default = '';<br>
elseif ('gravatar_default' == $default)<br>
$default = "$host/avatar/?s={$size}";<br>
elseif (empty ( $email ))<br>
$default = "$host/avatar/?d=$default&s={$size}";<br>
<br>
if (! empty ( $email )) {<br>
<br>
<br>
$out = "$host/avatar/";<br>
$out .= $email_hash;<br>
$out .= '?s=' . $size;<br>
$out .= '&d=' . urlencode ( $default );<br>
<br>
$out = str_replace ( '&', '&', strip_whitespace ( $out ) );<br>
} else {<br>
$out = $default;<br>
}<br>
<br>
return $out;<br>
}
AD:真正免费,域名+虚机+企业邮箱=0元

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器