apply_filters( ‘pre_get_avatar_data’, array $args, mixed $id_or_email )

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 ‘get_avatar_data’ filter and returning early.


Arguments passed to get_avatar_data() , after processing.
More Arguments from get_avatar_data( … $args )Arguments to use instead of the default arguments.
  • size int
    Height and width of the avatar in pixels. Default 96.
  • height int
    Display height of the avatar in pixels. Defaults to $size.
  • width int
    Display width of the avatar in pixels. Defaults to $size.
  • default string
    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
    Whether to always show the default image, never the Gravatar.
    Default false.
  • rating string
    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
    URL scheme to use. See set_url_scheme() for accepted values.
  • processed_args array
    When the function returns, the value will be the processed/sanitized $args plus a "found_avatar" guess. Pass as a reference.
  • extra_attr string
    HTML attributes to insert in the IMG element. Is not sanitized.
    Default empty.
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 );



User Contributed Notes

  1. Skip to note 2 content

    Can be used to display an image from your media library for a specific user to prevent requests to Gravatar and speed things up.

    add_filter( 'pre_get_avatar_data', function( $data, $id_or_email ) {
    	if ( 'author_email_to_check' == $id_or_email || 'author_id_to_check' == $id_or_email ) {
    		$img_src = wp_get_attachment_image_src( 'attachment_id_to_display', array( $data['width'], $data['height'] ) );
    		if ( isset( $img_src[0] ) ) {
    			$data['url'] = $img_src[0];
    	return $data;
    }, 10, 2 );

    Be sure to replace “author_email_to_check”, “author_id_to_check” and “attachment_id_to_display” to their corresponding values.

You must log in before being able to contribute a note or feedback.