Функция get_avatar_url()
в WordPress используется для получения URL аватара пользователя. Это удобно для динамического отображения аватаров в темах, плагинах или других частях сайта.
get_avatar_url( mixed $id_or_email, array $args = null ): string|false
Функция возвращает URL аватара для пользователя на основе переданного идентификатора или email. Может принимать идентификатор пользователя, Gravatar MD5 хэш, email пользователя, объект пользователя (WP_User), объект поста (WP_Post) или объект комментария (WP_Comment).
Параметры
$id_or_email
(mixed) (обязательный) — Идентификатор или email для получения аватара. Принимает:- ID пользователя,
- Email пользователя,
- Gravatar MD5 хэш,
- Объект WP_User,
- Объект WP_Post,
- Объект WP_Comment.
$args
(array) (необязательный) — Параметры для кастомизации аватара. По умолчанию:size
(int) — Размер аватара в пикселях. По умолчанию 96.default
(string) — URL изображения по умолчанию или тип изображения:'404'
— Вернет 404 вместо изображения,'retro'
— Пиксельное лицо в стиле 8-bit,'robohash'
— Робот,'monsterid'
— Монстрик,'wavatar'
— Мультяшное лицо,'identicon'
— Геометрический узор,'mystery'
,'mm'
,'mysteryman'
— Силуэт человека,'blank'
— Прозрачное изображение,'gravatar_default'
— Логотип Gravatar.
force_default
(bool) — Если true, всегда будет показываться изображение по умолчанию. По умолчанию false.rating
(string) — Рейтинг аватара:'G'
— Для любой аудитории,'PG'
— Возможно оскорбительные элементы, для аудитории старше 13 лет,'R'
— Для взрослой аудитории старше 17 лет,'X'
— Для более зрелой аудитории. По умолчанию используется значение опцииavatar_rating
.
scheme
(string) — Схема URL. Принимает значения:'http'
,'https'
. По умолчанию null.processed_args
(array) — Массив обработанных аргументов. Может использоваться для манипуляций перед возвращением результата.
Возвращаемое значение
- Возвращает строку с URL аватара или
false
при ошибке.
Пример 1: Получение URL аватара текущего пользователя
<?php
$user = wp_get_current_user();
if ( $user ) :
?>
<img src="<?php echo esc_url( get_avatar_url( $user->ID ) ); ?>" alt="Аватар текущего пользователя" />
<?php endif; ?>
Пример 2: Проверка наличия аватара у email
Можно проверить, существует ли аватар для определенного email, используя параметр default=404
и выполняя HTTP-запрос через get_headers()
:
function has_gravatar( $email ) {
$gravatar_url = get_avatar_url( $email, array( 'default' => '404' ) );
$headers = @get_headers( $gravatar_url );
return !preg_match( '|404|', $headers[0] );
}
// Пример использования
var_dump( has_gravatar( '[email protected]' ) ); // true
var_dump( has_gravatar( '[email protected]' ) ); // false
Пример 3: Получение URL аватара по email с кастомными параметрами
$url = get_avatar_url( '[email protected]', array(
'size' => 48,
'default' => 'identicon',
) );
echo $url;
// Пример результата: http://1.gravatar.com/avatar/4b508f04b661ba693130539bd29f5c0d?s=48&d=identicon&r=g
Пример 4: Вывод аватара автора текущего поста
global $post;
$avatar_url = get_avatar_url( $post->post_author, array( 'size' => 64, 'default' => 'monsterid' ) );
echo '<img src="' . esc_url( $avatar_url ) . '" alt="Аватар автора">';
Пример 5: Создание динамического favicon из аватара пользователя
Вы можете использовать get_avatar_url
для создания динамического фавикона на основе аватара пользователя:
<link rel="shortcut icon" href="<?php echo esc_url( get_avatar_url( $user->ID, array( 'size' => 16 ) ) ); ?>" />
Заключение
Функция get_avatar_url()
полезна для получения URL аватара пользователя и может быть кастомизирована с помощью различных параметров. Она широко используется для отображения аватаров в темах и плагинах, позволяя динамически получать изображения на основе идентификаторов пользователей, комментариев или email.