Функция get_avatar() │ WP 2.5.0
Функция get_avatar() позволяет получить HTML-код для изображения/avatar пользователя, который либо авторизован, либо указал свой адрес электронной почты при комментировании. Эта функция чаще всего используется в комментариях.
Примечания по использованию
- Функция используется в цикле комментариев, и для ее корректной работы требуется указать первый параметр.
- Функция допускает замену — разработчики плагинов, желающие изменить вывод, могут использовать фильтр
get_avatar.
Понятно о "плагиновых" функциях
Плагиновые функции обрабатываются только после того, как все плагины загружены. Если вы хотите использовать get_avatar() в коде плагина, вы должны вызывать ее на хуке plugins_loaded или позже, например, на хуке init.
Замена функции
Если вы создадите функцию с тем же названием в вашем плагине (обязательном или обычном), она заменит оригинальную функцию get_avatar().
Применение функции
Функция get_avatar() имеет следующий вид:
get_avatar( $id_or_email, $size, $default, $alt, $args );
Параметры функции
-
$id_or_email (mixed) (обязательный)
ID пользователя или адрес электронной почты, по которому нужно получить аватар. Также может принимать объектыWP_User,WP_Post,WP_Commentили md5-хэш gravatar.В большинстве случаев используется глобальная переменная
$comment, которая передается в этот параметр. Если все равно не работает (например, возникает ошибка), можно указать адрес электронной почты комментатора:get_the_author_meta('user_email'); -
$size (int)
Высота и ширина изображения аватара (в пикселях). По умолчанию: 96. -
$default (string)
URL для изображения по умолчанию, если у пользователя нет gravatar. Также принимает:- 404 — вернет ошибку 404 вместо изображения по умолчанию.
- retro — пиксельное изображение:
https://1.gravatar.com/avatar/4b508f04b661ba693130539bd29f5c0d?s=16&d=retro&r=g - monsterid — изображение монстра.
- wavatar — карикатурное лицо.
- identicon — "пэчворк".
- mystery, 'mm' или 'mysteryman' — з��гадочный человек.
- blank — прозрачный GIF.
- gravatar_default — логотип Gravatar.
По умолчанию: значение опции 'avatar_default', с запасным вариантом 'mystery'.
-
$alt (string)
Текст для атрибутаaltв теге<img>. По умолчанию: ''. -
$args (array)
Дополнительные параметры для получения аватара, такие как:- $height (int) — высота аватара в пикселях. По умолчанию: $size.
- $width (int) — ширина аватара в пикселях. По умолчанию: $size.
- $force_default (true/false) — всегда показывать изображение по умолчанию, никогда не показывая Gravatar. По умолчанию: false.
- $rating (string) — максимальный допустимый рейтинг аватаров. Принимает значения 'G', 'PG', 'R' и 'X'.
- $scheme (string) — URL-схема, которую следует использовать.
- $class (array/string) — массив или строка дополнительных классов для добавления в элемент
<img>. - $force_display (true/false) — всегда показывать аватар, игнорируя опцию
show_avatars. - $extra_attr (string) — HTML-атрибуты для вставки в элемент IMG. Не обрабатываются.
Возврат значения
Возвращает строку с тегом <img> для аватара пользователя или false в случае ошибки. Если у пользователя нет аватара, возвращается изображение по умолчанию (не false).
Примеры использования
Пример #1: Добавление нового изображения по умолчанию
Этот код добавляет новый вариант аватара по умолчанию на страницу настроек дискуссий. Выбранный аватар сохраняется в опции avatar_default.
add_filter( 'avatar_defaults', 'add_default_avatar_option' );
function add_default_avatar_option( $avatars ){
$url = get_stylesheet_directory_uri() . '/img/def-avatar.jpg';
$avatars[ $url ] = 'Аватар сайта';
return $avatars;
}
В результате мы получим новый вариант аватара в настройках.
Пример #2: Вывод аватара автора текущего поста
Пример #3: Добавление стиля к аватару
user_email, 30, '', '', array('class'=>'pull-left', 'extra_attr'=>'style="margin: -4px 7px;"') ); ?>
Вывод:

Пример #4: Настройка аватара по умолчанию
Чтобы автоматически установить аватар по умолчанию для всех функций аватара, используйте следующий код:
add_filter( 'pre_get_avatar_data', 'replace_default_avatar' );
function replace_default_avatar( $args ){
static $defava;
if( $defava === null ) $defava = get_option( 'avatar_default', 'mystery' );
if( ! $args['default'] || $defava == $args['default'] ){
$args['default'] = get_stylesheet_directory_uri() . '/img/def-avatar.jpg';
}
return $args;
}
Пример #5: Вывод аватара текущего комментатора
Вывод:

История изменений
- С 2.5.0 — введена функция.
- С 4.2.0 — добавлен параметр
$args. - С 5.5.0 — добавлен аргумент загрузки.
- С 6.1.0 — добавлен аргумент декодирования.
- С 6.3.0 — добавлен аргумент приоритета загрузки.
Теперь у вас есть полное руководство по использованию функции get_avatar(), чтобы управлять аватарами пользователей на вашем сайте WordPress.