Gravatar и WordPress

Date December 3rd, 2009 Author Vitaly Agapov

gravatarGravatar (что обычно расшифровывают как Globally Recognized Avatar) – это квадратная картинка, привязанная к электронной почте пользователя, которую можно использовать на форумах, чатах, сайтах и блогах в качестве аватара. Удобство достигается отсутствием необходимости в регистрации аккаунта на каждом из этих ресурсов для демонстрации своей яркой индивидуальности.

Все граватары хранятся на едином сервере, и для их получения оттуда надо предоставить MD5-хэш е-мейла пользователя. Именно с этим связана некоторая нетривиальность использования данного сервиса. То есть для того, чтобы на сайте появились граватары, требуется некоторое время для быдлокодинга или усиленный поиск соответствующих плагинов. По крайней мере, так было раньше. Сейчас, однако, WordPress поддерживает Gravatar прямо из “коробки”…

Для начала немного теории… Граватар – это динамически генерящееся изображение, отдаваемое с сервера www.gravatar.com в ответ на соответствующий GET-запрос. URL для этого запроса должен определять несколько параметров. URL начинается с

http://www.gravatar.com/avatar.php?

Затем идут параметры:

gravatar_id – MD5-хэш электронной почты
rating – максимально допустимый рейтинг [G | PG | R | X]
size – размер изображения в пикселях
default – полный URL изображеня, которое будет возвращено с лучае, если для данного е-мейла не существует граватара или его рейтинг превышает заданный в поле rating (&default=http%3A%2F%2Fwww.somesite.com%2Fsomeimage.jpg)
border – цвет рамки (&border=FF00FF)

В WordPress, начиная с версии 2.5 существует функция get_avatar. возвращающая целиком html-код для объекта img. Используется функция так:

<?php    echo get_avatar( $id_or_email, $size = '96', $default = '<path_to_url>' );    ?>

С параметрами всё достаточно  прозрачно. Стоит упомянуть, что если не указать адрес изображения по умолчанию, то Gravatar вернет вот эту самую синюю букву G. В коде, возвращаемом функцией get_avatar объекту img будут присвоены два класса – avatar и avatar-<размер>, что очень удобно для управоления визуализацией страницы с css.

Для обратной совместимости темы с более старыми версиями WordPress, можно пользоваться следующей конструкцией:

if (function_exists('get_avatar')) {
echo get_avatar($email);
} else {
//alternate gravatar code for < 2.5
$grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=" .
md5($email) . &default=" . urlencode($default) . &size=" . $size;
echo "<img src='$grav_url'/>";
}

Ссылки:

http://ru.gravatar.com/
http://codex.wordpress.org

Tags: ,
Category: Web-dev | No comments »

Comments

Leave a comment

 Comment Form