get_avatar()

获取用户的头像信息

描述

Retrieve the avatar for a user who provided a user ID or email address. Most commonly used in the comments section.

This function is pluggable, however plugin authors wishing to change the gravatar output should use the get_avatar filter instead, for compatibility purposes.

This function will not return an avatar if “Show Avatars” is unchecked in Settings > Discussion.

用法

 <?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?> 

参数

id_or_email

(integer/string/object) (必填) Author’s User ID (an integer or string), an E-mail Address (a string) or the comment object from the comment loop.
Note: with most comment templates you can use $comment here, in order to display the gravatar of the commenter. In other templates within The Loop (for WordPress 2.7 and lower), you can use get_the_author_id() (deprecated in WordPress 2.8). For WordPress 2.8 and up, please use get_the_author_meta( 'ID' ).

默认值: None

size

(integer) (可选) Size of Gravatar to return (max is 512).

默认值: 96

default

(string) (可选) url for an image, defaults to the “Mystery Man”.

默认值:

alt

(string) (可选) Alternate text for the avatar.

默认值: false

args

(array) (可选) Arguments to return instead of the default arguments.

默认值: null

$args

Note: If you change the $defaults in your get_avatar using $new_defaults, you must declare the $new_defaults BEFORE you call get_avatar, otherwise, they won’t take effect.

Default values:

size

(int) (可选) Height and width of the avatar image file in pixels.

默认值: 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’ (8bit), ‘monsterid’ (monster), ‘wavatar’ (cartoon face), ‘indenticon’ (the “quilt”), ‘mystery’, ‘mm’, or ‘mysterman’ (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’.

force_default

(bool) (可选) Whether to always show the default image, never the Gravatar.

默认值: 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.

默认值: null

force_display

(bool) (可选) Whether to always show the avatar – ignores the show_avatars option.

默认值: false

extra_attr

(string) (可选HTML attributes to insert in the IMG element. Is not sanitized.

默认值: empty.

返回值

string|false 

An img element for the user’s avatar or false on failure. The function does not output anything; you have to echo the return value.

示例

For comments:

<?php echo get_avatar( $comment, 32 ); ?>

For a post’s author, in The Loop:

<?php echo get_avatar( get_the_author_meta( ‘ID’ ), 32 ); ?>

For a random email address:

<?php echo get_avatar( ‘[email protected]’, 32 ); ?>

注意

  • 使用到 the get_avatar 过滤器 to 过滤器 the returned string.
  • This function is pluggable and so can be overridden by plugins and themes. The default functionality cannot be relied upon in these cases.

源文件

get_avatar() 函数的代码位于 wp-includes/pluggable.php.

* Retrieve the avatar `<img>` tag for a user, email address, MD5 hash, comment, or post.
*
* @since 2.5.0
* @since 4.2.0 Optional `$args` parameter added.
*
* @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 comment object.
* @param int    $size       Optional. Height and width of the avatar image file in pixels. Default 96.
* @param string $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 ‘mysterman’ (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’.
* @param string $alt        Optional. Alternative text to use in <img> tag. Default empty.
* @param array  $args       {
*     Optional. Extra arguments to retrieve the avatar.
*
*     @type int          $height        Display height of the avatar in pixels. Defaults to $size.
*     @type int          $width         Display width of the avatar in pixels. Defaults to $size.
*     @type bool         $force_default Whether to always show the default image, never the Gravatar. Default false.
*     @type string       $rating        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.
*     @type string       $scheme        URL scheme to use. See set_url_scheme() for accepted values.
*                                       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       $extra_attr    HTML attributes to insert in the IMG element. Is not sanitized. Default empty.
* }
* @return false|string `<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,

‘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’];

}

/**

* Filter whether to retrieve the avatar URL early.
*
* Passing a non-null value will effectively short-circuit get_avatar(), passing
* the value through the {@see ‘pre_get_avatar’} filter and returning early.
*
* @since 4.2.0
*
* @param string            $avatar      HTML for the user’s avatar. Default null.
* @param int|object|string $id_or_email A user ID, email address, or 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_attr( “$url2x 2x” ),

esc_attr( join( ‘ ‘, $class ) ),

(int) $args[‘height’],

(int) $args[‘width’],

$args[‘extra_attr’]

);

/**

* Filter 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 int|object|string $id_or_email A user ID, email address, or comment object.
* @param int               $size        Square avatar width and height in pixels to retrieve.
* @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 );

}

endif;

if ( !function_exists( ‘wp_text_diff’ ) ) :
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索