PIX主题添加WeAvatar头像源
本文是《技术相关(共46篇)》目录的第 46 篇。阅读本文前,建议先阅读本文前3篇文章:
众所周知,Wordpress的头像由于国际化,时不时的抽风。尽管相关修改头像源的插件有很多,如WPOPT、文派叶子等,但是由于PIX主题后台可以设置,所以自我感觉还是使用自带的比较好。不过让人无奈的是,貌似极客族不能用,loli只显示神秘游客形象,cravatar倒是能用但是太丑,像一个按钮,因此我决定改造一下,在后台设置中加入WeAvatar头像源。
先看效果:
改造步骤如下:
1、打开pix/inc/assets/codestar-framework/options/option.php后台文件,大概72行找到
array(
'id' => 'gravatar_source',
'type' => 'radio',
'title' => 'Gravatar头像源',
'inline' => true,
'options' => array(
'geekzu' => '极客族',
'loli' => 'loli',
'cravatar' => 'cravatar',
),
'default' => 'geekzu',
),
修改如下加入weavatar头像源并设为默认:
array(
'id' => 'gravatar_source',
'type' => 'radio',
'title' => 'Gravatar头像源',
'inline' => true,
'options' => array(
'weavatar' => 'weavatar',
'geekzu' => '极客族',
'loli' => 'loli',
'cravatar' => 'cravatar',
),
'default' => 'weavatar',
),
2、打开/pix/inc/opt.php,大概90行找到:
$avatar_source = get_op('gravatar_source','geekzu');
$avatar_array = array(
'geekzu' => 'sdn.geekzu.org',
'loli' => 'gravatar.loli.net',
'cravatar' => 'cravatar.cn',
);
修改为:
$avatar_source = get_op('gravatar_source','weavatar');
$avatar_array = array(
'weavatar' => 'weavatar.com',
'geekzu' => 'sdn.geekzu.org',
'loli' => 'gravatar.loli.net',
'cravatar' => 'cravatar.cn',
);
3、打开pix/inc/pix-comment.php,找到大概270行:
// ajax获取评论头像
add_action('wp_ajax_nopriv_ajax_avatar_get', 'ajax_avatar_get');
add_action('wp_ajax_ajax_avatar_get', 'ajax_avatar_get');
function ajax_avatar_get() {
$email = isset($_POST['email'])? $_POST['email'] : false;
$name = isset($_POST['name'])? $_POST['name'] : '神秘访客';
if ($email) {
$res = get_avatar_url($email, array('size' => 50));
$avatar = preg_replace("/http:\/\/(www|\d).geekzu.com\/avatar\//", "https://sdn.geekzu.org/avatar/", $res);
echo json_encode(array('avatar' => $avatar, 'name' => $name? $name : '神秘访客'));
exit();
} else {
return;
}
}
替换geekzu修改为:
// ajax获取评论头像
add_action('wp_ajax_nopriv_ajax_avatar_get', 'ajax_avatar_get');
add_action('wp_ajax_ajax_avatar_get', 'ajax_avatar_get');
function ajax_avatar_get() {
$email = isset($_POST['email'])? $_POST['email'] : false;
$name = isset($_POST['name'])? $_POST['name'] : '神秘访客';
if ($email) {
$res = get_avatar_url($email, array('size' => 50));
$avatar = preg_replace("/http:\/\/(www|\d).weavatar.com\/avatar\//", "https://weavatar.com/avatar/", $res);
echo json_encode(array('avatar' => $avatar, 'name' => $name? $name : '神秘访客'));
exit();
} else {
return;
}
}
大功告成!
刘郎
感觉Wordpress和Typecho都差不多 使用的cravatar头像源时不时的都会抽一下风 然后过一阵子又好了
似水流年
所以现在我改成weavatar了。
obaby
cravatar,weavatar都是几百年不更新,已经放弃了。
我直接自建。
现在显示的头像还是我之前单独去他们网站上传的,这些网站的缓存策略更新也贼慢,几个月不更新。
似水流年
weavatar我觉得这里面最好的,我记得你还写了个自建头像的文章。
全局变量
头像好像都有点偶尔抽风,看到过好几次,最好的方案是将头像缓存到本地,评论时增加个选项头像更新。哪天我有空我得吧头像缓存下来。
似水流年
这个是内地的,我的感觉就是已经缓存下来了。不过真正缓存到本地也好,不受其他网站打不开影响。
全局变量
国内的也偶发故障。看到过几次了。