为 WordPress 添加一个简单的自定义Avatars头像功能

知更鸟 2021年10月18日19:55:05WordPress23311阅读模式

让 WordPress 注册用户到另外的Gravatar头像网站申请上传头像,并不符合常规习惯,因此在自己网站添加上传自定义头像功能还是很有必要。文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

为 WordPress 添加一个简单的自定义Avatars头像功能

为 WordPress 添加一个简单的自定义Avatars头像功能

文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

之前推荐的用户上传头像插件:文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

默认Wordpress支持显示Gravatar头像,但目前由于众所周知的原因,申请Gravatar头像比较困难只能显示默认的...
2322831

很好用,这里再分享一个简单的自定义Avatars头像功能,将下面代码添加到当前主题函数模板functions.php中:文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

section

一、在用户资料页面添加自定义Avatar字段文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

function be_custom_avatar_field( $user ) { ?>
	<h2>自定义头像</h2>
	<table class="form-table" role="presentation">
		<tbody>
		<tr class="be_custom_avatar">
			<th><label for="be_custom_avatar">头像图片链接: </label></th>
			<td>
				<input type="text" name="be_custom_avatar" id="be_custom_avatar" class="regular-text ltr" value="<?php echo esc_url_raw( get_the_author_meta( 'be_custom_avatar', $user->ID ) ); ?>" />
				<p class="description" id="be_custom_avatar-description">输入头像的图片链接,图片尺寸 70x70 像素。</p>
			</td>
		</tr>
		</tbody>
	</table>
	<?php 
}

add_action( 'show_user_profile', 'be_custom_avatar_field' );
add_action( 'edit_user_profile', 'be_custom_avatar_field' );

function be_save_custom_avatar_field( $user_id ) {
	if ( current_user_can( 'edit_user', $user_id ) ) {
		update_usermeta( $user_id, 'be_custom_avatar', esc_url_raw( $_POST['be_custom_avatar'] ) );
	}
}
add_action( 'personal_options_update', 'be_save_custom_avatar_field' );
add_action( 'edit_user_profile_update', 'be_save_custom_avatar_field' );
section

二、通过add_filter过滤器,显示自定义头像。文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

function be_gravatar_filter($avatar, $id_or_email, $size, $default, $alt) {
	$email = is_object( $id_or_email ) ? $id_or_email->comment_author_email : $id_or_email;
	if( is_email( $email ) && ! email_exists( $email ) )
		return $avatar;
	$custom_avatar = get_the_author_meta('be_custom_avatar');
	if ($custom_avatar) 
		$return = '<img src="'.$custom_avatar.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
	elseif ($avatar) 
		$return = $avatar;
	else 
		$return = '<img src="'.$default.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
	return $return;
}
add_filter('get_avatar', 'be_gravatar_filter', 10, 5);

上面的代码与插件相比,功能比较简单,并没有图片上传功能,只能通过输入图片地址实现自定义头像。文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html

文章源自知更鸟-https://zmingcx.com/wordpress-custom-avatar.html
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
让 WordPress 页面支持添加分类及标签 WordPress

让 WordPress 页面支持添加分类及标签

默认WordPress页面不支持选择分类和添加标签,可以通过下面的方法为页面添加分类及标签。 将下面代码添加到当前主题函数模板functions.php中: function san_add_taxo...
自定义 WordPress 文章显示数量 WordPress

自定义 WordPress 文章显示数量

一般我们都在设置 → 阅读 → 博客页面至多显示中,统一设置每个页面的文章显示数量,如果想某些页面自定义显示数量,不受这个控制,可以通过下面的代码实现。 自定义 WordPress 文章显示数量 将下...
WordPress 在文章页以标签云形式显示文章标签 WordPress

WordPress 在文章页以标签云形式显示文章标签

大家都看过WordPress 标签小工具的标签云,标签按文章数显示不同的大小,看上去很生动,那么在文章页面是否也可以用标签云的形式调用该文章标签呢?当然是可以的。 WordPress 在文章页以标签云...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定

评论:2   其中:访客  2   博主  0
    • WordPress新手学园
      WordPress新手学园 2

      我相信很人比较好奇如何实现前端上传图片作为头像的功能

      • 兔宝宝游戏网
        兔宝宝游戏网 1

        头像美化功能,很不错的。