get_avatar()
Получает html код аватара (<img>
) комментатора, если пользователь авторизирован или указал email при комментировании.
Используется внутри Цикла комментариев или ему обязательно нужно передать первый параметр!
Если нужно воздействовать на эту функцию, то используйте фильтр get_avatar
.
Возвращает строку/false. HTML тег . false если не удалось отправить запрос. Если нет аватара, но запрос отправился, то вернет аватарку по дефолту – не false.
Использование
<?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?>
Примеры использования
#1. Выведем Аватар текущего комментатора:
<?php echo get_avatar( $comment, 32 ); ?>
Получим:
<img alt='' src='https://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(), 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; }