wordpress中替换Gravatar头像默认服务器

这几天Gravatar头像服务器应该集体被墙了,头像无法显示。兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈。

利用多说Gravatar头像中转服务器替代头像默认服务器。

将下面代码添加到当前主题functions.php文件中:

  1. function mytheme_get_avatar( $avatar ) {
  2. $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );
  3. return $avatar;
  4. }
  5. add_filter( 'get_avatar', 'mytheme_get_avatar' );

可惜多说服务稳定性欠佳,有时也会暂时无法显示头像。如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度。

使用https方式(SSL)调用Gravatar头服务器地址

使用方法同上,将下面代码添加到主题functions.php文件中:

  1. function get_ssl_avatar($avatar) {
  2.    $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
  3.    return $avatar;
  4. }
  5. add_filter('get_avatar', 'get_ssl_avatar');

貌似添加以上代码后,一些头像缓存插件也将失效。

使用Gravatar Fixed 头像修正插件

插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com

插件下载页面

另一个比较笨的方法:

打开wordpress程序根目录的wp-includes文件夹,找到pluggable.php打开,将大约2150至2157行:

  1. if ( is_ssl() ) {
  2.     $host = 'https://secure.gravatar.com';
  3. else {
  4.     if ( !emptyempty($email) )
  5.         $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
  6.     else
  7.         $host = 'http://0.gravatar.com';
  8. }

替换为:

  1. $host = 'https://secure.gravatar.com';

或者(支持头像缓存插件)

  1. $host = 'http://cn.gravatar.com';

之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用。

以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用。

推荐几款Gravatar头像缓存插件

fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要自定义WordPress头像,可以使用以下方法: 1. 使用插件 有许多可用的WordPress插件,可以让您自定义头像。以下是一些常用的插件: - WP User Avatar:这个插件可以让您上传自己的头像,或者使用默认Gravatar头像。 - Avatar Manager:这个插件可以让您上传自己的头像,并且可以调整头像的大小和形状。 - Simple Local Avatars:这个插件可以让您上传本地头像,并将其作为默认头像。 2. 自定义代码 如果您想使用自定义代码来实现自定义头像,可以使用以下代码: ``` function custom_avatar( $avatar_defaults ) { $custom_avatar = array( 'my_avatar' => __( 'My Avatar', 'textdomain' ), ); $avatar_defaults = array_merge( $avatar_defaults, $custom_avatar ); return $avatar_defaults; } add_filter( 'avatar_defaults', 'custom_avatar' ); ``` 上面的代码将“my_avatar”添加到默认头像列表,并将其显示为“My Avatar”。然后,您可以使用以下代码来显示自定义头像: ``` <?php echo get_avatar( 'example@example.com', 64, 'my_avatar', 'Custom Avatar' ); ?> ``` 上面的代码将使用自定义头像“my_avatar”和名称“Custom Avatar”显示头像。您可以将“example@example.com”替换为您的电子邮件地址。如果您想使用本地图像作为头像,请使用以下代码: ``` <?php $user_id = get_current_user_id(); echo get_avatar( $user_id, 64, '', 'Custom Avatar' ); ?> ``` 上面的代码将使用当前用户的ID作为头像,您可以将“64”替换为您想要的图像大小。请注意,如果用户没有上传头像,则将显示默认Gravatar头像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值