之前为了WP的Gravatar头像伤心了好久,不得已只能屏蔽调用本地图片,结果所有访问者的头像全部是千篇一律的网站logo,今天在黑桃三老哥的鼓励帮助下,再次尝试替换Gravatar头像镜像源为Cravatar。
第一次按照老哥的说法,直接把代码放到 functions.php文件末尾就行,试了下没成功,本来已经心灰意冷,可又不太甘心,于是第二次从头到尾看了下 functions.php 文件,发现这个文件里,主题作者自带修改 Gravatar SSL化的代码,删除了那段代码,修改为替换 Cravatar 的代码,就成功了~哈哈哈哈,终于兼顾了美观和访问速度~再次感谢黑桃三老兄!
WP的修改方法(先备份 functions.php),将以下代码加到主题的functions.php文件中即可
if ( ! function_exists( 'get_cravatar_url' ) ) { 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', 'gravatar.com', ); return str_replace( $sources, 'cravatar.cn', $url ); } add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 ); add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 ); add_filter( 'get_avatar_url', 'get_cravatar_url', 1 ); } if ( ! function_exists( 'set_defaults_for_cravatar' ) ) { /** * 替换 WordPress 讨论设置中的默认头像 */ function set_defaults_for_cravatar( $avatar_defaults ) { $avatar_defaults['gravatar_default'] = 'Cravatar 标志'; return $avatar_defaults; } add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 ); } if ( ! function_exists( 'set_user_profile_picture_for_cravatar' ) ) { /** * 替换个人资料卡中的头像上传地址 */ function set_user_profile_picture_for_cravatar() { return '<a href="https://cravatar.cn" target="_blank">您可以在 Cravatar 修改您的资料图片</a>'; } add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 ); }
如果没有问题的话,应该可以直接成功,如果出问题了,可以排查下,是不是和我一样,也是因为原主题也有类似的修改方案,删掉,换成这个代码即可!
我来测试下没有注册的邮箱是什么头像。有没有可能实现默认头像自动随机?
然而,并没有
之前一直WP官方的 官方抽风严重 必须要换源了~
大佬明智
老羡慕懂代码的大佬了
你说的没错,黑桃三老哥老厉害了
你可以体验一下WP China Yes插件,加速后台并集成了Cravatar。
就是不太想装这个插件
想换个头像,官网一直打不开
科学上网改下
嘿嘿,过来体验一下!
哈哈,怎么样速度
近乎完美的速度!
刚看到邮箱提醒,你已经搞定了,没有什么事是折腾解决不了的,如果有,那就多折腾一会儿
感谢老哥啊