# get_avatar()

URL: https://chugunov.pro/api-wordpress/functions/get_avatar/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.5.0.

## Сигнатура

```php
get_avatar( mixed $id_or_email, int $size = 96, string $default_value = '', string $alt = '', array $args = null ): string|false
```

## Описание

Получает тег `` аватара для пользователя, адреса электронной почты, MD5-хеша, комментария или записи.

## Параметры

- `$id_or_email` `mixed` — обязательный. Аватар, который нужно получить. Принимает идентификатор пользователя, MD5-хеш Gravatar, email пользователя, объект WP_User, объект WP_Post или объект WP_Comment.
- `$size` `int` — необязательный, по умолчанию `96`. Высота и ширина аватара в пикселях.
- `$default_value` `string` — необязательный, по умолчанию `''`. URL изображения по умолчанию или тип изображения по умолчанию. Принимает:
  
  '404' (вернуть ошибку 404 вместо изображения по умолчанию)
  
  'retro' (пиксельное лицо в стиле 8-битных аркад)
  
  'robohash' (робот)
  
  'monsterid' (монстр)
  
  'wavatar' (мультяшное лицо)
  
  'identicon' («лоскутное одеяло», геометрический узор)
  
  'initials' (аватар на основе инициалов с цветом фона)
  
  'color' (сгенерированный цвет фона)
  
  'mystery', 'mm' или 'mysteryman' (человек-загадка)
  
  'blank' (прозрачный GIF)
  
  'gravatar_default' (логотип Gravatar). Значение по умолчанию берётся из опции 'avatar_default', с запасным вариантом 'mystery'.
- `$alt` `string` — необязательный, по умолчанию `''`. Альтернативный текст для использования в теге изображения аватара.
- `$args` `array` — необязательный, по умолчанию `null`. Дополнительные аргументы для получения аватара.
  
  height intВысота отображаемого аватара в пикселях. Значение по умолчанию — $size.
  
  width intШирина отображаемого аватара в пикселях. Значение по умолчанию — $size.
  
  force_default boolВсегда ли показывать изображение по умолчанию вместо Gravatar.
  
  Значение по умолчанию — false.
  
  rating stringДо какого рейтинга показывать аватары. Принимает:
  
  'G' (подходит для любой аудитории)
  
  'PG' (возможно оскорбительно, обычно для аудитории от 13 лет)
  
  'R' (предназначено для взрослой аудитории старше 17 лет)
  
  'X' (ещё более взрослое, чем указанное выше). Значение по умолчанию берётся из опции 'avatar_rating'.
  
  scheme stringИспользуемая схема URL. Допустимые значения см. в set_url_scheme().
  
  class array|stringМассив или строка дополнительных классов, добавляемых к элементу img.
  
  force_display boolВсегда ли показывать аватар — игнорирует опцию show_avatars.
  
  Значение по умолчанию — false.
  
  loading stringЗначение атрибута loading.
  
  fetchpriority stringЗначение атрибута fetchpriority.
  
  decoding stringЗначение атрибута decoding.
  
  extra_attr stringHTML-атрибуты для вставки в элемент IMG. Не очищается.

## Возвращаемое значение

`string|false` — 

## Исходный код

Файл: `wp-includes/pluggable.php:3193`

```php
function get_avatar( $id_or_email, $size = 96, $default_value = '', $alt = '', $args = null ) {
	$defaults = array(
		// get_avatar_data() args.
		'size'          => 96,
		'height'        => null,
		'width'         => null,
		'default'       => get_option( 'avatar_default', 'mystery' ),
		'force_default' => false,
		'rating'        => get_option( 'avatar_rating' ),
		'scheme'        => null,
		'alt'           => '',
		'class'         => null,
		'force_display' => false,
		'loading'       => null,
		'fetchpriority' => null,
		'decoding'      => null,
		'extra_attr'    => '',
	);

	if ( empty( $args ) ) {
		$args = array();
	}

	$args['size']    = (int) $size;
	$args['default'] = $default_value;
	$args['alt']     = $alt;

	$args = wp_parse_args( $args, $defaults );

	if ( empty( $args['height'] ) ) {
		$args['height'] = $args['size'];
	}
	if ( empty( $args['width'] ) ) {
		$args['width'] = $args['size'];
	}

	// Update args with loading optimized attributes.
	$loading_optimization_attr = wp_get_loading_optimization_attributes( 'img', $args, 'get_avatar' );

	$args = array_merge( $args, $loading_optimization_attr );

	if ( is_object( $id_or_email ) && isset( $id_or_email->comment_ID ) ) {
		$id_or_email = get_comment( $id_or_email );
	}

	/**
	 * Allows the HTML for a user's avatar to be returned early.
	 *
	 * Returning a non-null value will effectively short-circuit get_avatar(), passing
	 * the value through the 'get_avatar' filter and returning early.
	 *
	 * @since 4.2.0
	 *
	 * @param string|null $avatar      HTML for the user's avatar. Default null.
	 * @param mixed       $id_or_email The avatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
	 *                                 user email, WP_User object, WP_Post object, or WP_Comment object.
	 * @param array       $args        Arguments passed to get_avatar_url(), after processing.
	 */
	$avatar = apply_filters( 'pre_get_avatar', null, $id_or_email, $args );

	if ( ! is_null( $avatar ) ) {
		/** This filter is documented in wp-includes/pluggable.php */
		return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args );
	}

	if ( ! $args['force_display'] && ! get_option( 'show_avatars' ) ) {
		return false;
	}

	$url2x = get_avatar_url( $id_or_email, array_merge( $args, array( 'size' => $args['size'] * 2 ) ) );

	$args = get_avatar_data( $id_or_email, $args );

	$url = $args['url'];

	if ( ! $url || is_wp_error( $url ) ) {
		return false;
	}

	$class = array( 'avatar', 'avatar-' . (int) $args['size'], 'photo' );

	if ( ! $args['found_avatar'] || $args['force_default'] ) {
		$class[] = 'avatar-default';
	}

	if ( $args['class'] ) {
		if ( is_array( $args['class'] ) ) {
			$class = array_merge( $class, $args['class'] );
		} else {
			$class[] = $args['class'];
		}
	}

	// Add `loading`, `fetchpriority`, and `decoding` attributes.
	$extra_attr = $args['extra_attr'];

	if ( in_array( $args['loading'], array( 'lazy', 'eager' ), true )
		&& ! preg_match( '/\bloading\s*=/', $extra_attr )
	) {
		if ( ! empty( $extra_attr ) ) {
			$extra_attr .= ' ';
		}

		$extra_attr .= "loading='{$args['loading']}'";
	}

	if ( in_array( $args['fetchpriority'], array( 'high', 'low', 'auto' ), true )
		&& ! preg_match( '/\bfetchpriority\s*=/', $extra_attr )
	) {
		if ( ! empty( $extra_attr ) ) {
			$extra_attr .= ' ';
		}

		$extra_attr .= "fetchpriority='{$args['fetchpriority']}'";
	}

	if ( in_array( $args['decoding'], array( 'async', 'sync', 'auto' ), true )
		&& ! preg_match( '/\bdecoding\s*=/', $extra_attr )
	) {
		if ( ! empty( $extra_attr ) ) {
			$extra_attr .= ' ';
		}

		$extra_attr .= "decoding='{$args['decoding']}'";
	}

	$avatar = sprintf(
		"<img alt='%s' src='%s' srcset='%s' class='%s' height='%d' width='%d' %s/>",
		esc_attr( $args['alt'] ),
		esc_url( $url ),
		esc_url( $url2x ) . ' 2x',
		esc_attr( implode( ' ', $class ) ),
		(int) $args['height'],
		(int) $args['width'],
		$extra_attr
	);

	/**
	 * Filters the HTML for a user's avatar.
	 *
	 * @since 2.5.0
	 * @since 4.2.0 Added the `$args` parameter.
	 *
	 * @param string $avatar        HTML for the user's avatar.
	 * @param mixed  $id_or_email   The avatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
	 *                              user email, WP_User object, WP_Post object, or WP_Comment object.
	 * @param int    $size          Height and width of the avatar in pixels.
	 * @param string $default_value URL for the default image or a default type. Accepts:
	 *                              - '404' (return a 404 instead of a default image)
	 *                              - 'retro' (a 8-bit arcade-style pixelated face)
	 *                              - 'robohash' (a robot)
	 *                              - 'monsterid' (a monster)
	 *                              - 'wavatar' (a cartoon face)
	 *                              - 'identicon' (the "quilt", a geometric pattern)
	 *                              - 'mystery', 'mm', or 'mysteryman' (The Oyster Man)
	 *                              - 'blank' (transparent GIF)
	 *                              - 'gravatar_default' (the Gravatar logo)
	 * @param string $alt           Alternative text to use in the avatar image tag.
	 * @param array  $args          Arguments passed to get_avatar_data(), after processing.
	 */
	return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args );
}
```

## История изменений

- 6.3.0 — Added the fetchpriority argument.
- 6.1.0 — Added the decoding argument.
- 5.5.0 — Added the loading argument.
- 4.2.0 — Added the optional $args parameter.
- 2.5.0 — Introduced.

## Связанные

Использует: [`wp_get_loading_optimization_attributes`](https://chugunov.pro/api-wordpress/functions/wp_get_loading_optimization_attributes/), [`get_avatar_url`](https://chugunov.pro/api-wordpress/functions/get_avatar_url/), [`get_avatar_data`](https://chugunov.pro/api-wordpress/functions/get_avatar_data/), [`esc_attr`](https://chugunov.pro/api-wordpress/functions/esc_attr/), [`esc_url`](https://chugunov.pro/api-wordpress/functions/esc_url/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/), [`get_comment`](https://chugunov.pro/api-wordpress/functions/get_comment/), [`is_wp_error`](https://chugunov.pro/api-wordpress/functions/is_wp_error/).
Используется в: `WP_Comments_List_Table::floated_admin_avatar`, `WP_Posts_List_Table::column_title`, `WP_MS_Users_List_Table::column_username`, [`_wp_dashboard_recent_comments_row`](https://chugunov.pro/api-wordpress/functions/_wp_dashboard_recent_comments_row/), `WP_Users_List_Table::single_row`, [`_admin_notice_post_locked`](https://chugunov.pro/api-wordpress/functions/_admin_notice_post_locked/), [`wp_prepare_revisions_for_js`](https://chugunov.pro/api-wordpress/functions/wp_prepare_revisions_for_js/), [`floated_admin_avatar`](https://chugunov.pro/api-wordpress/functions/floated_admin_avatar/), [`wp_admin_bar_my_account_item`](https://chugunov.pro/api-wordpress/functions/wp_admin_bar_my_account_item/), [`wp_admin_bar_my_account_menu`](https://chugunov.pro/api-wordpress/functions/wp_admin_bar_my_account_menu/), [`wp_post_revision_title_expanded`](https://chugunov.pro/api-wordpress/functions/wp_post_revision_title_expanded/), `Walker_Comment::comment`, `Walker_Comment::html5_comment`.

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/get_avatar/
