Описание
Получает html код аватара (<img>) комментатора, если пользователь авторизирован или указал email при комментировании.
Этот Тег шаблона должен использоваться внутри Цикла комментариев или ему обязательно нужно передать первый параметр!
Если нужно воздействовать на эту функцию, то используйте фильтр get_avatar.
Использование
<?php echo get_avatar( $id_or_email, $size, $default, $alt ); ?>
Параметры
- $id_or_email (строка/объект/число) (обязательный)
- ID комментария или email комментатора, для которого нужно получить аватар. Можно указать объект содержащий данные комментария.
В большинстве шаблонов в этом параметре можно указывать переменную $comment. Если эта переменная не работает (вызывает ошибку), то заранее запишите в нее email комментатора, делается это так:
$comment = get_the_author_meta('user_email');По умолчанию: нет
- $size (число)
- Размер картинки. Указанное число станет шириной и высотой в пикселях.
По умолчанию: 96 - $default (строка)
- УРЛ на картинку по умолчанию, для пользователей, которые не имеют аватарки в сервисе gravatar.
По умолчанию: нет - $alt (строка)
- Текст для атрибута ссылки 'alt'.
По умолчанию: ''
Примеры
1. Выведем Аватар текущего комментатора:
<?php echo get_avatar( $comment, 32 ); ?>
Получим:
<img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=96' class='avatar avatar-96 photo avatar-default' height='96' width='96' />
2. Если первый пример вызывает ошибку. Т.е. переменная $comment не определена:
<?php
$comment = get_the_author_meta('user_email');
echo get_avatar( $comment, 32 ); ?>
?>
get_avatar()
из файла: /wp-includes/pluggable.php WP 3.3.2function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
if ( ! get_option('show_avatars') )
return false;
if ( false === $alt)
$safe_alt = '';
else
$safe_alt = esc_attr( $alt );
if ( !is_numeric($size) )
$size = '96';
$email = '';
if ( is_numeric($id_or_email) ) {
$id = (int) $id_or_email;
$user = get_userdata($id);
if ( $user )
$email = $user->user_email;
} elseif ( is_object($id_or_email) ) {
// No avatar for pingbacks or trackbacks
$allowed_comment_types = apply_filters( 'get_avatar_comment_types', array( 'comment' ) );
if ( ! empty( $id_or_email->comment_type ) && ! in_array( $id_or_email->comment_type, (array) $allowed_comment_types ) )
return false;
if ( !empty($id_or_email->user_id) ) {
$id = (int) $id_or_email->user_id;
$user = get_userdata($id);
if ( $user)
$email = $user->user_email;
} elseif ( !empty($id_or_email->comment_author_email) ) {
$email = $id_or_email->comment_author_email;
}
} else {
$email = $id_or_email;
}
if ( empty($default) ) {
$avatar_default = get_option('avatar_default');
if ( empty($avatar_default) )
$default = 'mystery';
else
$default = $avatar_default;
}
if ( !empty($email) )
$email_hash = md5( strtolower( $email ) );
if ( is_ssl() ) {
$host = 'https://secure.gravatar.com';
} else {
if ( !empty($email) )
$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
else
$host = 'http://0.gravatar.com';
}
if ( 'mystery' == $default )
$default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')
elseif ( 'blank' == $default )
$default = includes_url('images/blank.gif');
elseif ( !empty($email) && 'gravatar_default' == $default )
$default = '';
elseif ( 'gravatar_default' == $default )
$default = "$host/avatar/s={$size}";
elseif ( empty($email) )
$default = "$host/avatar/?d=$default&s={$size}";
elseif ( strpos($default, 'http://') === 0 )
$default = add_query_arg( 's', $size, $default );
if ( !empty($email) ) {
$out = "$host/avatar/";
$out .= $email_hash;
$out .= '?s='.$size;
$out .= '&d=' . urlencode( $default );
$rating = get_option('avatar_rating');
if ( !empty( $rating ) )
$out .= "&r={$rating}";
$avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
} else {
$avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
}
return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
}Ещё из раздела
- wp_list_comments() view
- comment_author_email_link() view
- comment_author_url() view
- comment_excerpt() view
- comment_form() view
- comment_type() view
- comments_number() view
- paginate_comments_links() view
Смотрите также: Функции WordPress и Теги Шаблона.
Покупаете квартиру, но делаете это впервые и разумеется, не знаете всех нюансов подобной сделки. Мошенничество в этой сфере сильно развито, поэтому нужно быть максимально бдительным и лучше заказать юридическое сопровождение сделки купли продажи. Излишняя осторожность может вылезти боком в этом вопросе. Подумайте 100 раз, прежде чем отказаться от подобной услуги.
Здравствуйте! Не подскажете, как получить только ссылку на аватар пользователя? Нужно сделать его (аватар) фоном блока.
Аватар можно получить по ссылке:
где, $mail - мыло пользователя, а 32 размер аватарки.