众所周知WordPress的评论头像基于Gravatar,而gravatar.com官网链接经常被墙,访问速度那叫一个糟糕,闲的蛋疼的时候查看了下网页加载速度,一个头像硬是加载了20s…
因此我们可以通过使用WordPress钩子来替换头像URL中的参数,即可达到设置自定义头像的目的。
首先,将默认头像放到一个网络空间,即可以使用URL访问的位置,例如我使用这个头像:
第二步,我们关键的替换代码如下:
// 默认头像地址
$default_avatar = 'https://www.itylq.com/avatar/default.jpg';
// 替换掉原本的 d 参数
$url = preg_replace('/(\?|&)(d=[a-zA-Z]+)(&?)/', '\\1', $url);
//添加上我们自己的默认头像参数
$url .= "&d=" . urlencode($default_avatar);
最后,可以将它写成一个函数,添加到主题的 functions.php 中,然后注册WordPress钩子,来达到设置默认头像的目的。示例如下:
function o_default_avatar($url){
$default_avatar = 'https://www.itylq.com/avatar/default.jpg';
$url = preg_replace('/(\?|&)(d=[a-zA-Z]+)(&?)/', '\\1', $url);
$url .= "&d=" . urlencode($default_avatar);
return $url;
}
add_filter('get_avatar_url', 'o_default_avatar');
正文完