钩子文档

get_avatar_url

💡 云策文档标注

概述

get_avatar_url 是一个 WordPress 过滤器,用于修改头像的 URL。它允许开发者在获取头像 URL 时进行自定义处理,例如替换为默认图像或基于特定条件调整。

关键要点

  • 过滤器名称:get_avatar_url,用于过滤头像 URL。
  • 参数:$url(头像 URL)、$id_or_email(用户 ID、邮箱、对象等)、$args(传递给 get_avatar_data() 的参数数组)。
  • 用途:可自定义头像 URL,例如返回占位符图像或基于条件修改。
  • 相关函数:与 get_avatar_data() 关联,用于获取头像数据。

代码示例

function wdoc_filter_get_avatar_url( $url, $id_or_email, $args ) {
    $url = get_template_directory_uri() . '/author.jpg';
    return $url;
}
add_filter( 'get_avatar_url', 'wdoc_filter_get_avatar_url', 10, 3 );

注意事项

  • 使用 default 参数在 $args 数组中指定默认图像,参考 get_avatar_data() 文档。
  • 参数 $args 包含多个选项,如 size、default、rating 等,用于控制头像显示。
  • 此过滤器在 WordPress 4.2.0 版本引入。

📄 原文内容

Filters the avatar URL.

Parameters

$urlstring
The URL of the avatar.
$id_or_emailmixed
The avatar to retrieve. Accepts a user ID, Gravatar SHA-256 or MD5 hash, user email, WP_User object, WP_Post object, or WP_Comment object.
$argsarray
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)
    • 'initials' (initials based avatar with background color)
    • 'color' (generated background color)
    • '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.
    For Gravatars this setting is ignored and HTTPS is used to avoid unnecessary redirects. The setting is retained for systems using the ‘pre_get_avatar_data’ filter to customize avatars.
  • 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.

Source

$args['url'] = apply_filters( 'get_avatar_url', $url, $id_or_email, $args );

Changelog

Version Description
4.2.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Below is a basic example to return the avatar as a placeholder image.

    function wdoc_filter_get_avatar_url( $url, $id_or_email, $args ) {
    
    	$url = get_template_directory_uri() . '/author.jpg';
    	return $url;
    }
    
    add_filter( 'get_avatar_url', 'wdoc_filter_get_avatar_url', 10, 3 );