Jak v komentářích zobrazit avatara z Twitteru

V rubrice: Tipy & Triky | Obtížnost:

Jak je známo, tak WordPress pro obrázky avatarů používá externí službu Gravatar. Do té člověk zaregistruje svůj email a ten pak bude spárován s příslušným obrázkem vaši maličkosti. Dnes si ukážeme, jak tam dostat obrázek z Twitteru.

Jako základ nám bude sloužit můj plugin „Twitter follow button in coments“ Ten obstarává především možnost vložení Twitter účtu.

Získat url obrázku je následně už snadné. V Twitteru developers si nalezneme následující tvar:

http://api.twitter.com/1/users/profile_image?screen_name=USERNAME&size=normal

Jak si můžete všimnou, tak je možné definovat různé velikosti podle toho, jak veliký obrázek potřebujeme. Podporované hodnoty jsou bigger, normal, mini nebo original. Největší bigger je čtverec 73×73. Velikost original není specifikována a může se lišit.

Do functions.php v šabloně přidáme filter, který nám obrázek nahradí.

add_filter('get_avatar', 'site_get_avatar', 10, 5);

function site_get_avatar($avatar, $id_or_email, $size, $default, $alt){
	if($id_or_email->user_id == 0) $twitter = get_comment_meta($id_or_email->comment_ID, 'twitter', true );
	else $twitter = get_user_meta($id_or_email->user_id, 'twitter', true);
	$twitter = explode("/", str_replace("@","",$twitter));
	$twitter = $twitter[count($twitter) - 1];
	if($twitter != "") {
		if ($size <= 24) $twSize = 'mini';
		elseif ($size <= 48) $twSize = 'normal';
		else $twSize = 'bigger';
		$imgUrl = "http://api.twitter.com/1/users/profile_image?screen_name=".$twitter."&size=" . $twSize;
		$avatar = "<img src='". $imgUrl ."' width='". $size ."' class='avatar avatar-". $size ." photo' />";
		}
	return $avatar;
	}

Mějte prosím na paměti, že největší obrázek, který vám Twitter vrátí, má rozměry 73×73. Více z něho nedostanete. Pokud chcete zdůraznit, že se nejedná o jen tak ledajaký obrázek, můžete ho obalit „divem“, který bude mít v pravém horním rohu background malého ptáčka.

V rubrice: Tipy & Triky | Obtížnost: