функция since 2.5.0

get_avatar()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

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

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 ) . ' x',
		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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.