wordpress解决gravatar头像不显示的问题

引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。

有一段时间没有来网站看,发现wordpress的gravatar头像居然不显示了,不过这只是小问题,修改方法很简单。主要是因为gravatar.com网站链接不上或访问慢导致的。解决gravatar头像不显示的问题修改方法如下(二选一)

(修改于2016-11-13,只做补充。)

方法一:找到wp-includes下的pluggable.php,搜索gravatar.com找到以下代码:

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

修改成:

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

或者

  1. if ( is_ssl() ) {
  2.     $host = 'https://secure.gravatar.com';
  3.     $host = 'http://en.gravatar.com';
  4. }

方法二:将以下代码放到functaion.php中即可。

  1. //将被墙的地址替换成还能正常访问的头像地址
  2. function get_ssl_avatar($avatar) {
  3.     $avatar = str_replace(array("www.gravatar.com""0.gravatar.com""1.gravatar.com""2.gravatar.com"), "gravatar.duoshuo.com"$avatar);
  4.     return $avatar;
  5. }
  6. add_filter('get_avatar', 'get_ssl_avatar');

此时,修改完毕,再次打开你的wordpress网站即可显示gravatar头像了

发表回复