get_avatar()
Получает html код аватара (<img>
) комментатора, если пользователь авторизирован или указал email при комментировании. Обычно используется в разделе комментариев.
Используется внутри Цикла комментариев или обязательно нужно передать первый параметр!
Используйте фильтр get_avatar, когда нужно изменить результат функции.
Pluggable функция — эту функцию можно заменить из плагина. Это значит, что она будет работать (подключается) только после подключения всех плагинов, а до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от неё функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.
Замена функции (переопределение) — в must-use или обычном плагине можно создать функцию с таким же названием, тогда она заменит текущую функцию.
Хуки из функции
Возвращает
Строку|false
. HTML тег <img>
. false если не удалось отправить запрос. Если нет аватара, но запрос отправился, то вернет аватарку по дефолту - не false.
Использование
get_avatar( $id_or_email, $size, $default_value, $alt, $args );
- $id_or_email(строка/объект/число) (обязательный)
ID или email юзера, для которого нужно получить аватар. Также можно указать объекты: WP_User, WP_Post, WP_Comment или md5 хэш gravatar.
В большинстве шаблонов в этом параметре можно указать глобальную переменную
$comment
. Если функция не работает (вызывает ошибку), то запишите в неё email комментатора, например:get_avatar( 'email@gmail.com' );
- $size(число)
- Размер картинки. Указанное число станет шириной и высотой в пикселях.
По умолчанию: 96 - $default(строка)
УРЛ на картинку по умолчанию, для пользователей, которые не имеют аватарки в сервисе gravatar.
Также принимает:
404
- вернет 404 вместо дефолтной картинки.retro
- пиксельная картинка 8bit:monsterid
- монстрик:wavatar
- мульт лицо:indenticon
- картинка-узор:mystery
, 'mm' или 'mysterman' - неизвестный человек:blank
- прозрачная GIF картинка.gravatar_default
- логотип Gravatar:
По умолчанию: '' (значение опции 'avatar_default' или 'mystery')
- $alt(строка)
- Текст для атрибута 'alt' тега <img>.
По умолчанию: '' - $args(массив)
Дополнительные аргументы для получения аватара:
height
- Число. Высота в пикселях. По умолчанию $size.width
- Число. Ширина в пикселях. По умолчанию $size.force_default
- Логический. Всегда показывать дефолтную картинку и никогда аватар.rating
- Строка. Минимальный рейтинг аватара для отображения. Может быть: 'G', 'PG', 'R', 'X'. По умолчанию значение опции 'avatar_rating'.scheme
- Строка. Схема URL которая будет использоваться. Смотрите set_url_scheme().class
- Массив/строка. Дополнительные классы для тега img.force_display
- Логический. Всегда показывать аватар? Игнорирует опцию show_avatars.extra_attr
- Строка. Дополнительные HTML атрибуты для тега IMG. Не очищаются перед выводом на экран.loading
— Строкаlazy
.
По умолчанию: null
Примеры
#1 Выведем Аватар текущего комментатора:
<?php echo get_avatar( $comment, 32 ); ?>
Получим:
<img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=32' class='avatar avatar-32 photo avatar-default' height='32' width='32' />
#2 Вывод аватара автора текущего поста
<?php echo get_avatar( get_the_author_meta('user_email'), 32 ); ?>
#3 Добавление атрибута stylе
Параметр 'extra_attr' позволяет добавлять любые атрибуты тега IMG:
<?php echo get_avatar( $current_user->user_email, 30, '', '', array('class'=>'pull-left', 'extra_attr'=>'style="margin: -4px 7px;"') ); ?>
Получим:
<img alt="" src="http://1.gravatar.com/avatar/155e695ab2987ee3c482c1e3e690683b?s=30&d=mm&r=g" class="avatar avatar-30 photo pull-left" height="30" width="30" style="margin: -4px 7px;" >
#4 Вариант аватарки по умолчанию в настройки обсуждения
Это код добавления еще одной картинки (опции) в настройках обсуждения, которую можно выбрать как аватарку по умолчанию. Такая аватарка хранится в опции get_option('avatar_default').
## Добавляет еще один вариант аватарки по умолчанию в настройки обсуждения ## Файл аватарки 'def-avatar.jpg' нужно залить в папку темы 'img' 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; }
В результате получим такую дополнительную опцию:
#5 Аватар по умолчанию
Если для прошлого варианта, нужно добавить хук, потом зайти в настройки и выбрать дефолтный аватар, то этот вариант установит аватарку по дефолту сразу же...
Этот вариант устанавливает аватар по умолчанию «налету», для функций: get_avatar_url() и get_avatar_data(). Дефолтный аватар будет установлен только если в функции не указан дефолтный аватар, т.е. не установлен параметр 'default'.
## Устанавливает аватар по умолчанию ## Файл аватарки 'def-avatar.jpg' нужно залить в папку темы 'img' add_filter( 'pre_get_avatar_data', 'replace_default_avatar' ); function replace_default_avatar( $args ){ // админка и страница обсуждения, где настраивается ава по умолчанию... // if( is_admin() && get_current_screen()->base === 'options-discussion' ) return $args; static $defava; if( $defava === null ) $defava = get_option( 'avatar_default', 'mystery' ); // ускоримся // Если используется ава по умолчанию, чтобы работал параметр 'default' если он установлен для функций аватарок if( ! $args['default'] || $defava == $args['default'] ){ $args['default'] = get_stylesheet_directory_uri() . '/img/def-avatar.jpg'; } return $args; }
Список изменений
С версии 2.5.0 | Введена. |
С версии 4.2.0 | Added the optional $args parameter. |
С версии 5.5.0 | Added the loading argument. |
С версии 6.1.0 | Added the decoding argument. |
С версии 6.3.0 | Added the fetchpriority argument. |