好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress缓存Gravatar头像到本地修改 - WordPress

WordPress缓存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  (  empty empty ( $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头像缓存到本地还是非常不错了,自己服务器的东西自己有把握管理与维护了,你看到那个大站把数据放到别人服务器上了呀.

查看更多关于WordPress缓存Gravatar头像到本地修改 - WordPress的详细内容...

  阅读:63次