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.
描述
参数
- $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’
返回值
(false|string) <img>
tag for the user’s avatar. False on failure.
源代码
File: wp-includes/pluggable.php
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_attr( "$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 );
}
更新日志
Version | 描述 |
---|---|
4.2.0 | Optional $args parameter added. |
2.5.0 | Introduced. |
相关函数
Uses
-
wp-includes/link-template.php:
get_avatar_url() -
wp-includes/link-template.php:
get_avatar_data() -
wp-includes/pluggable.php:
pre_get_avatar -
wp-includes/formatting.php:
esc_attr() -
wp-includes/formatting.php:
esc_url() -
wp-includes/pluggable.php:
get_avatar -
wp-includes/functions.php:
wp_parse_args() -
wp-includes/plugin.php:
apply_filters() -
wp-includes/option.php:
get_option() -
wp-includes/comment.php:
get_comment() -
wp-includes/load.php:
is_wp_error()
Show 6 more uses
Used By
-
wp-admin/includes/class-wp-comments-list-table.php:
WP_Comments_List_Table::floated_admin_avatar() -
wp-admin/includes/class-wp-posts-list-table.php:
WP_Posts_List_Table::column_title() -
wp-admin/includes/class-wp-ms-users-list-table.php:
WP_MS_Users_List_Table::column_username() -
wp-admin/includes/misc.php:
wp_check_locked_posts() -
wp-admin/includes/misc.php:
wp_refresh_post_lock() -
wp-admin/includes/dashboard.php:
_wp_dashboard_recent_comments_row() -
wp-admin/includes/class-wp-users-list-table.php:
WP_Users_List_Table::single_row() -
wp-admin/includes/post.php:
_admin_notice_post_locked() -
wp-admin/includes/revision.php:
wp_prepare_revisions_for_js() -
wp-admin/includes/comment.php:
floated_admin_avatar() -
wp-includes/admin-bar.php:
wp_admin_bar_my_account_item() -
wp-includes/admin-bar.php:
wp_admin_bar_my_account_menu() -
wp-includes/post-template.php:
wp_post_revision_title_expanded() -
wp-includes/class-walker-comment.php:
Walker_Comment::comment() -
wp-includes/class-walker-comment.php:
Walker_Comment::html5_comment()
Show 10 more used by
Hide more used by
-
Skip to note content
You must log in to vote on the helpfulness of this noteVote results for this note: 1You must log in to vote on the helpfulness of this note
Contributed by
Codex
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 ); ?>
你可能对这些文章感兴趣:
- wordpress函数get_the_posts_navigation()用法示例
- wordpress函数get_the_title()用法示例
- wordpress函数get_the_terms()用法示例
- wordpress函数get_the_tags()用法示例
- wordpress函数get_the_taxonomies()用法示例
- wordpress函数get_the_permalink()用法示例
- wordpress函数get_the_password_form()用法示例
- wordpress函数get_the_posts_pagination()用法示例
- wordpress函数get_the_modified_date()用法示例
- wordpress函数get_the_modified_time()用法示例
- wordpress函数get_the_modified_author()用法示例
- wordpress函数get_the_guid()用法示例
- wordpress函数get_the_ID()用法示例
- wordpress函数get_the_excerpt()用法示例
如有疑问,请前往问答中心反馈!
反馈