设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 教程 > 正文

WordPress缓存Gravatar头像到本地修改

发布时间:2022-06-25 13:34 所属栏目:61 来源:互联网
导读:gg打不开了Gravatar也不行了,现在小编打扮把wordpress Gravatar头像修改缓存到本地服务器了,下面把整个修改过程给各位整理一次. 在wordpress目录下建立文件夹:avatar,文件夹权限为:755,如果不行文件夹权限就设置成777,这是gravatar头像缓存的路径. 设置默认
  gg打不开了Gravatar也不行了,现在小编打扮把wordpress Gravatar头像修改缓存到本地服务器了,下面把整个修改过程给各位整理一次.
 
  在wordpress目录下建立文件夹:avatar,文件夹权限为:755,如果不行文件夹权限就设置成777,这是gravatar头像缓存的路径.
 
  设置默认头像
 
  制作一张默认头像,也可以直接在wordpress后台》设置》讨论 里copy一张,命名为"default.jpg" ,放在 avatar文件夹里面.
 
  添加缓存代码
 
  将下面的代码复制到模板的 functions.php 文件中即可,代码如下:
 
  function my_avatar($avatar) {
       $tmp = strpos($avatar, 'http');
       $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
       $tmp = strpos($g, 'avatar/') + 7;
       $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
       $w = home_url(); // $w = get_bloginfo('url');
       $e = preg_replace('/wordpress//', '', ABSPATH) .'avatar/'. $f .'.jpg';
       $t = 604800; //设定7天, 单位:秒
       if ( emptyempty($default) ) $default = $w. '/avatar/default.jpg';
       if ( !is_file($e) || (time() - filemtime($e)) > $t ) //当头像不存在或者文件超过7天才更新
           copy(htmlspecialchars_decode($g), $e);
       else //开源软件:phpfensi.com
           $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
       if (filesize($e) < 500) copy($default, $e);
       return $avatar;
   }
   add_filter('get_avatar', 'my_avatar');
  搞完上面的东西就OK了.如同本站设置的一样的.
 
  总结:其实Gravatar头像缓存到本地还是非常不错了,自己服务器的东西自己有把握管理与维护了,你看到那个大站把数据放到别人服务器上了呀.
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读