get_avatar( mixed $id_or_email, int $size = 96, string $default = '', string $alt = '', array $args = null )
Retrieve the avatar <img>
tag for a user, email address, MD5 hash, comment, or post.
Description Description
Parameters Parameters
- $id_or_email
-
(mixed) (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
-
(int) (Optional) Height and width of the avatar image file in pixels.
Default value: 96
- $default
-
(string) (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
-
(string) (Optional) Alternative text to use in <img> tag.
Default value: ''
- $args
-
(array) (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
(false|string) <img>
tag for the user's avatar. False on failure.
Source Source
File: wp-includes/pluggable.php
2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 | 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, 'extra_attr' => '' , ); 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 ); } /** * Filters whether to retrieve the avatar URL 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 $avatar HTML for the user's avatar. Default null. * @param mixed $id_or_email The Gravatar 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' ]; } } $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 ) . ' 2x' , esc_attr( join( ' ' , $class ) ), (int) $args [ 'height' ], (int) $args [ 'width' ], $args [ 'extra_attr' ] ); /** * Filters the avatar to retrieve. * * @since 2.5.0 * @since 4.2.0 The `$args` parameter was added. * * @param string $avatar <img> tag for the user's avatar. * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash, * user email, WP_User object, WP_Post object, or WP_Comment object. * @param int $size Square avatar width and height in pixels to retrieve. * @param string $default URL for the default image or a default type. Accepts '404', 'retro', 'monsterid', * 'wavatar', 'indenticon','mystery' (or 'mm', or 'mysteryman'), 'blank', or 'gravatar_default'. * Default is the value of the 'avatar_default' option, with a fallback of 'mystery'. * @param string $alt Alternative text to use in the avatar image tag. Default empty. * @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 ); } |
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
4.2.0 | Optional $args parameter added. |
2.5.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example for a post’s author, in The Loop.
<?php
echo
get_avatar( get_the_author_meta(
'ID'
), 32 ); ?>
Example for comments.
<?php
echo
get_avatar(
$comment
, 32 ); ?>
Example for a random email address.
<?php
echo
get_avatar(
'email@example.com'
, 32 ); ?>