PIX主题添加WeAvatar头像源

众所周知,Wordpress的头像由于国际化,时不时的抽风。尽管相关修改头像源的插件有很多,如WPOPT、文派叶子等,但是由于PIX主题后台可以设置,所以自我感觉还是使用自带的比较好。不过让人无奈的是,貌似极客族不能用,loli只显示神秘游客形象,cravatar倒是能用但是太丑,像一个按钮,因此我决定改造一下,在后台设置中加入WeAvatar头像源。

先看效果:

PIX主题添加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;
    }
}

大功告成!

Comments | 7 条评论
  • 刘郎

    感觉Wordpress和Typecho都差不多 使用的cravatar头像源时不时的都会抽一下风 然后过一阵子又好了

    • 似水流年

      所以现在我改成weavatar了。

  • obaby

    cravatar,weavatar都是几百年不更新,已经放弃了。
    我直接自建。
    现在显示的头像还是我之前单独去他们网站上传的,这些网站的缓存策略更新也贼慢,几个月不更新。

    • 似水流年

      weavatar我觉得这里面最好的,我记得你还写了个自建头像的文章。

  • 全局变量

    头像好像都有点偶尔抽风,看到过好几次,最好的方案是将头像缓存到本地,评论时增加个选项头像更新。哪天我有空我得吧头像缓存下来。

    • 似水流年

      这个是内地的,我的感觉就是已经缓存下来了。不过真正缓存到本地也好,不受其他网站打不开影响。

      • 全局变量

        国内的也偶发故障。看到过几次了。

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息