Summery Summery
Retrieve the avatar <img>
tag for a user, email address, MD5 hash, comment, or post.
Syntax Syntax
Parameters Parameters
- $id_or_email
-
(Required) The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, user email, WP_User object, WP_Post object, or WP_Comment object.
- $size
-
(Optional) Height and width of the avatar image file in pixels.
Default value: 96
- $default
-
(Optional) URL for the default image or a default type. Accepts '404' (return a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster), 'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm', or 'mysteryman' (The Oyster Man), 'blank' (transparent GIF), or 'gravatar_default' (the Gravatar logo). Default is the value of the 'avatar_default' option, with a fallback of 'mystery'.
Default value: ''
- $alt
-
(Optional) Alternative text to use in <img> tag.
Default value: ''
- $args
-
(Optional) Extra arguments to retrieve the avatar.
- 'height'
(int) Display height of the avatar in pixels. Defaults to $size. - 'width'
(int) Display width of the avatar in pixels. Defaults to $size. - 'force_default'
(bool) Whether to always show the default image, never the Gravatar. Default false. - 'rating'
(string) What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are judged in that order. Default is the value of the 'avatar_rating' option. - 'scheme'
(string) URL scheme to use. See set_url_scheme() for accepted values. - 'class'
(array|string) Array or string of additional classes to add to the <img> element. - 'force_display'
(bool) Whether to always show the avatar - ignores the show_avatars option. Default false. - 'extra_attr'
(string) HTML attributes to insert in the IMG element. Is not sanitized. Default empty.
Default value: null
- 'height'
Return Return
(string|false) <img>
tag for the user's avatar. False on failure.
Source Source
File: wp-includes/pluggable.php
* Default null. * @type array|string $class Array or string of additional classes to add to the img element. * Default null. * @type bool $force_display Whether to always show the avatar - ignores the show_avatars option. * Default false. * @type string $loading Value for the `loading` attribute. * Default null. * @type string $extra_attr HTML attributes to insert in the IMG element. Is not sanitized. Default empty. * } * @return string|false `<img>` tag for the user's avatar. False on failure. */ function get_avatar( $id_or_email, $size = 96, $default = '', $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, 'extra_attr' => '', ); if ( wp_lazy_loading_enabled( 'img', 'get_avatar' ) ) { $defaults['loading'] = 'lazy'; } if ( empty( $args ) ) { $args = array(); } $args['size'] = (int) $size; $args['default'] = $default; $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']; } 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. * * Passing a non-null value will effectively short-circuit get_avatar(), passing * the value through the {@see '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` attribute. $extra_attr = $args['extra_attr']; $loading = $args['loading']; if ( in_array( $loading, array( 'lazy', 'eager' ), true ) && ! preg_match( '/\bloading\s*=/', $extra_attr ) ) { if ( ! empty( $extra_attr ) ) { $extra_attr .= ' '; } $extra_attr .= "loading='{$loading}'"; } $avatar = sprintf(
Advertisement
Changelog Changelog
Version | Description |
---|---|
4.2.0 | Optional $args parameter added. |
2.5.0 | Introduced. |