当前位置:首页 > CMS教程 > WordPress > 列表

wordpress 优化 – gravatar问题

发布:smiling 来源: PHP粉丝网  添加日期:2015-09-24 14:27:26 浏览: 评论:0 

新安装的WP站点,访问默认模板和后台访问速度非常慢,抓包查看请求的情况,发现有 http://0.gravatar.com/ 的请求被pengding了,导致访问速度下降,gravatar是国外的一个头像服务,国内也被墙了,因此请求失败,有三种解决方法:

1、替换法

这种方法的基本思路为两类,一类是在寻找一个国内的gravatar镜像站,将wordpress中的gravatar替换成国内镜像站,这样提高请求成功率和访问速度。例如 http://gravatar.duoshuo.com ,这个站点就提供了gravatar的国内镜像。这种做法的缺陷在于这种镜像站不知道什么时候会被关闭,因此也不是唯一解决之道。另外一类将头像缓存到国内其他站点,甚至于缓存到vps本地,也能解决这个问题。具体做法见这个链接:http://www.freehao123.com/wordpress-gravatar/

2、插件法

安装 Wp Super Cache 插件,可以将头像文件静态化到html文件中,这样提高访问速度,具体做法见:http://www.freehao123.com/wp-super-cache/  不过这种方法我并没有使用,所以无法给出验证效果。

3、直接禁止gravatar服务

这是一劳永逸的简便做法,直接禁止gravatar服务有两种做法,4.0版本中提供了一个简单的设置方法,在 后台->设置->讨论中,有一个选项为头像显示,取消这个选项,即可取消gravatar服务,另外有网友提供了直接代码修改的方法,在wp-includes/pluggable.php中有get_avatar函数,修改代码如下:

  1. if ( !function_exists( ‘get_avatar’ ) ) : 
  2.  
  3. function get_avatar( $id_or_email$size = ’96’, $default = ”, $alt = false ) { 
  4.  
  5. if ( ! get_option(‘show_avatars’) ) 
  6.  
  7. return false; 
  8.  
  9. if ( false === $alt
  10.  
  11. $safe_alt = ”; 
  12.  
  13. else 
  14.  
  15. $safe_alt = esc_attr( $alt ); 
  16.  
  17. if ( !is_numeric($size) ) 
  18.  
  19. $size = ’96′; 
  20.  
  21. $default = includes_url(‘images/blank.gif’); 
  22.  
  23. $avatar = “”; 
  24.  
  25. return apply_filters(‘get_avatar’, $avatar$id_or_email$size$default$alt); //phpfensi.com 
  26.  
  27.  
  28. endif

使用该函数,仅可能返回一个默认头像(位于wp-includes/images/blank.gif内),也能达到提高速度的效果.

Tags: wordpress优化 gravatar

分享到: