随机显示用户头像 自定义WordPress默认头像

WordPress自带的Gravatar头像一直折磨国内广大站长朋友,还好之前有WP爱好者创建了国内的Cravatar头像服务,为国内WordPress用户提供了极大的帮助。

WordPress在“讨论”设置中有个设置默认头像的功能,用于网站留言者的邮箱未申请Gravatar头像,则显示后台设置的默认头像,但默认的图片不仅不好看,而且看着无头像的评论者都显示同一张古怪的图片,单调无趣。

随机显示用户头像 自定义WordPress默认头像

首先需要将Gravatar头像服务替换为将国内的Cravatar头像,否则头像可能根本就不显示或者加载异常缓慢,将代码添加到当前主题函数模板functions.php中:

function get_cravatar_url( $url ) {
	$sources = array(
		'www.gravatar.com',
		'0.gravatar.com',
		'1.gravatar.com',
		'2.gravatar.com',
		'secure.gravatar.com',
		'cn.gravatar.com'
	);
	return str_replace( $sources, 'cravatar.cn', $url );
}

网上常见的自定义Gravatar默认头像的代码大概是这样:

add_filter( 'avatar_defaults', 'default_avatar', 10, 1 );
function default_avatar( $avatar_defaults ) {
	$zmavatar = 图片地址;
	$avatar_defaults[ $zmavatar ] = '自定义';
	return $avatar_defaults;
}

是一张固定的图片,下面是随机默认头像实现方法:

在当前主题目录新建一个名称为avatars目录,其中放置tx1.jpg、tx2.jpg、tx3.jpg、tx4.jpg….若干随机头像图片。文章源自知更鸟-https://zmingcx.com/wordpress-random-default-avatar.html

将下面代码同样添加到当前主题函数模板functions.php中:

add_filter( 'pre_option_avatar_default', 'zm_random_default_avatar' );
 
function zm_random_default_avatar ( $value ) {
	return get_stylesheet_directory_uri() . '/avatars/tx' . rand( 1, 5 ) . '.jpg';
}

可以修改其中图片名称前缀tx和预设的随机头像数量5。

 

文章转载:https://zmingcx.com/wordpress-random-default-avatar.html

给TA打赏
共{{data.count}}人
人已打赏
教程

WordPress 5.9版本移除 内联样式

2022-3-22 20:31:33

教程

Linux/Ubuntu系统中安装ZeroTier配置加入网络

2024-6-6 16:22:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧