最合适的回答,由SO网友:Brooke. 整理而成
这个get_avatar
函数返回包装在<img>
标签。在您的情况下,您需要使用get_avatar_url
仅获取所需图像的URL。
结合WordPress\'wp_remote_get
您可以将图像数据捕获到变量中,或将其保存为图像。
$user = wp_get_current_user();
$gravatar_url = get_avatar_url( $user->ID, [\'size\' => \'50\'] );
$gravatar_source = wp_remote_get( $gravatar_url );
if ( ! is_wp_error( $gravatar_source ) && 200 == $gravatar_source[\'response\'][\'code\'] ) {
$filename = sanitize_file_name( $user->ID . \'.jpg\' );
$gravatar_file = fopen( \'tmp /\' . $filename, \'w\' );
fwrite( $gravatar_file, $gravatar_source[\'body\'] );
fclose( $gravatar_file );
}
此示例复制自
this script 这在其他方面基本无关。
编辑:如果您只想将URL抓取到PHP变量中,可以执行以下操作:
$current_user = wp_get_current_user();
$userdata = get_userdata( $current_user->ID );
$gravatar_url = \'https://www.gravatar.com/avatar/\' . md5( strtolower( trim( $userdata->user_email ) ) );