get_avatar() – Retrieves the avatar `<img>` tag for a user, email address, MD5 hash, comment, or post.

You appear to be a bot. Output may be restricted

Description

Retrieves the avatar <img> tag for a user, email address, MD5 hash, comment, or post.

Usage

$string|false = get_avatar( $id_or_email, $size, $default_value, $alt, $args );

Parameters

$id_or_email
( mixed ) required – The avatar to retrieve. Accepts a user ID, Gravatar MD5 hash, user email, WP_User object, WP_Post object, or WP_Comment object.
$size
( int ) optional default: 96 – Optional. Height and width of the avatar in pixels. Default 96.
$default_value
( string ) optional – 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)

Default is the value of the 'avatar_default' option, with a fallback of 'mystery'.

$alt
( string ) optional – Optional. Alternative text to use in the avatar image tag. Default empty.
$args
( array ) optional – { Optional. Extra arguments to retrieve the avatar.
$height
( int ) optional – Display height of the avatar in pixels. Defaults to $size.
$width
( int ) optional – Display width of the avatar in pixels. Defaults to $size.
$force_default
( bool ) optional – Whether to always show the default image, never the Gravatar. Default false.
$rating
( string ) optional – What rating to display avatars up to. Accepts:

  • 'G' (suitable for all audiences)
  • 'PG' (possibly offensive, usually for audiences 13 and above)
  • 'R' (intended for adult audiences above 17)
  • 'X' (even more mature than above)

Default is the value of the 'avatar_rating' option.

$scheme
( string ) optional – URL scheme to use. See set_url_scheme() for accepted values. Default null.
$class
( array|string ) optional – Array or string of additional classes to add to the img element. Default null.
$force_display
( bool ) optional – Whether to always show the avatar – ignores the show_avatars option. Default false.
$loading
( string ) optional – Value for the loading attribute. Default null.
$fetchpriority
( string ) optional – Value for the fetchpriority attribute. Default null.
$decoding
( string ) optional – Value for the decoding attribute. Default null.
$extra_attr
( string ) optional – HTML attributes to insert in the IMG element. Is not sanitized. Default empty. }

Returns

string|false <img> tag for the user's avatar. False on failure.

Source

File name: wordpress/wp-includes/pluggable.php
Lines:

1 to 100 of 162
  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 {@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`, `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 ) ) {
 

 View on GitHub View on Trac