Gravatar упрощают работу с аватарами. Многие сайты на WordPress используют граватары в комментариях для того, чтобы выделить каждого автора его собственным изображением. Да, в основном используются в комментариях, однако вы можете совершенно спокойно использовать граватары везде, где захотите. Например, в блоке информации об авторе, в сайдбаре или на странице «Обо мне». В этой статье мы расскажем вам как отобразить Gravatar из email пользователя в WordPress
Note: Our example was done for a membership site. So we are grabbing the email address by pulling logged in user’s information. However, the technique of displaying gravatar from email address stays the same.
Выводим Gravatar в файлах шаблонов WordPress
Прежде всего, мы покажем как отобразить граватар в файлах шаблона, используя простую функцию. Добавьте следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:
function devise_display_gravatar() { global $current_user; get_currentuserinfo(); // Получаем Email адрес пользователя $getuseremail = $current_user->user_email; // Конвертируем email в хеш md5 и задаем размер картинки в 32px $usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=32'; echo '<img src="' . $usergravatar . '" class="devise_gravatar" />'; }
Для того, чтобы отобразить граватар в файлах шаблона, используйте следующий код:
<?php devise_display_gravatar(); ?>
Выводим Gravatar в записях, страницах и виджетах WordPress
Теперь давайте предположим, что у вас есть email адреса пользователя и разрешение на использование на вашем сайте. И они не являются зарегистрированными пользователями на вашем сайте. Или то, что вы хотите отобразить граватары определенных пользователей в записи, на странице или виджете. Для решения такой задачи добавьте следующий код в файл functions.php вашей темы или в плагин для сайта для WordPress:
function devise_display_gravatar($atts) { extract( shortcode_atts( array( 'devise_user_email' => '', ), $atts ) ); if ($devise_user_email == '') { global $current_user; get_currentuserinfo(); $getuseremail = $current_user->user_email; } else { $getuseremail = $devise_user_email; } $usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=32'; echo '<img src="' . $usergravatar . '" />'; } add_shortcode('devise_gravatar', 'devise_display_gravatar');
В вышеприведенном коде мы изменили оригинальную функцию devise_display_avatar и создали для нее шорткод. Он воспринимает один аргумент — devise_user_email. Если вы укажете е-мейл адрес в виде аргумента для шорткода, тогда он отобразит граватар для указанного адреса, а не для текущего залогиненого в систему пользователя. Этот шорткод может использоваться как в записях, так и на страницах, а также виджетах. Для того, чтобы им воспользоваться, нужно использовать:
[devise_gravatar]
Для отображения граватара для определенного адреса следует взять:
[devise_gravatar devise_user_email="john.smith@example.com"]
Также есть возможность добавить CSS, дописав класс .devise_gravatar
в вашу таблицу стилей вот таким образом:
.devise_gravatar { padding: 3px; margin: 3px; background:#FFFFFF; border:2px solid #eee; }
Надеемся, что статья была вам полезна в выводе Gravatar из email пользователя в WordPress. Вопросы — в комментариях 🙂