我正在尝试更改默认的Gravatar大小。由于我使用的是WP生成的注释模板(使用comments\\u template()函数),所以我转向了过滤器,这是我的自定义代码:
function change_avatar_size ( $id_or_email, $size = 100, $default = \'\', $alt = \'\', $args = null ) {
$args[\'size\'] = (int) $size;
$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\'];
$class = array( \'avatar\', \'avatar-\' . (int) $args[\'size\'], \'photo\' );
$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\']
);
return $avatar;
}
add_filter( \'get_avatar\', \'change_avatar_size\' );
大小确实改变了,但我没有得到正确的Gravatar URL。我得到的是默认的Gravatar图像,好像生成的链接不正确。有什么想法吗?