get_avatar_data() – Retrieves default data about the avatar.

You appear to be a bot. Output may be restricted

Description

Retrieves default data about the avatar.

Usage

$array = get_avatar_data( $id_or_email, $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.
$args
( array ) optional – { Optional. Arguments to use instead of the default arguments.
$size
( int ) optional – Height and width of the avatar in pixels. Default 96.
$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.
$default
( 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'.

$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.
$processed_args
( array ) optional – When the function returns, the value will be the processed/sanitized $args plus a "found_avatar" guess. Pass as a reference. Default null.
$extra_attr
( string ) optional – HTML attributes to insert in the IMG element. Is not sanitized. Default empty. }
$found_avatar
( bool ) optional – True if an avatar was found for this user, false or not set if none was found.
$url
( string|false ) optional – The URL of the avatar that was found, or false. }

Returns

array { Along with the arguments passed in `$args`, this will contain a couple of extra arguments.

Source

File name: wordpress/wp-includes/link-template.php
Lines:

1 to 100 of 182
function get_avatar_data( $id_or_email, $args = null ) {
  $args = wp_parse_args(
    $args,
    array(
      'size'           => 96,
      'height'         => null,
      'width'          => null,
      'default'        => get_option( 'avatar_default', 'mystery' ),
      'force_default'  => false,
      'rating'         => get_option( 'avatar_rating' ),
      'scheme'         => null,
      'processed_args' => null, // If used, should be a reference.
      'extra_attr'     => '',
    )
  );

  if ( is_numeric( $args['size'] ) ) {
    $args['size'] = absint( $args['size'] );
    if ( ! $args['size'] ) {
      $args['size'] = 96;
    }
  } else {
    $args['size'] = 96;
  }

  if ( is_numeric( $args['height'] ) ) {
    $args['height'] = absint( $args['height'] );
    if ( ! $args['height'] ) {
      $args['height'] = $args['size'];
    }
  } else {
    $args['height'] = $args['size'];
  }

  if ( is_numeric( $args['width'] ) ) {
    $args['width'] = absint( $args['width'] );
    if ( ! $args['width'] ) {
      $args['width'] = $args['size'];
    }
  } else {
    $args['width'] = $args['size'];
  }

  if ( empty( $args['default'] ) ) {
    $args['default'] = get_option( 'avatar_default', 'mystery' );
  }

  switch ( $args['default'] ) {
    case 'mm':
    case 'mystery':
    case 'mysteryman':
      $args['default'] = 'mm';
      break;
    case 'gravatar_default':
      $args['default'] = false;
      break;
  }

  $args['force_default'] = (bool) $args['force_default'];

  $args['rating'] = strtolower( $args['rating'] );

  $args['found_avatar'] = false;

  
/**
 * Filters whether to retrieve the avatar URL early.
 *
 * Passing a non-null value in the 'url' member of the return array will
 * effectively short circuit get_avatar_data(), passing the value through
 * the {@see 'get_avatar_data'} filter and returning early.
 *
 * @since 4.2.0
 *
 * @param array $args        Arguments passed to get_avatar_data(), after processing.
 * @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.
 */
  $args = apply_filters( 'pre_get_avatar_data', $args, $id_or_email );

  if ( isset( $args['url'] ) ) {
    
/** This filter is documented in wp-includes/link-template.php */
    return apply_filters( 'get_avatar_data', $args, $id_or_email );
  }

  $email_hash = '';
  $user       = false;
  $email      = false;

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

  // Process the user identifier.
  if ( is_numeric( $id_or_email ) ) {
    $user = get_user_by( 'id', absint( $id_or_email ) );
  } elseif ( is_string( $id_or_email ) ) {
    if ( str_contains( $id_or_email, '@md5.gravatar.com' ) ) {
      // MD5 hash.
      list( $email_hash ) = explode( '@', $id_or_email );
    } else {
 

 View on GitHub View on Trac