wordpress后台打开慢/卡顿的解决方法

---------------------2014年12月29日更新---------------------

我已经用下面提到的第三种方法禁用了谷歌字体了,最近wordpress后台还是莫名奇妙地非常慢,卡顿感让我十分不爽,本着处女座追求完美的毛病,继续寻找原因。

这回是浏览器左下角一直显示“正在等待0.gravatar.com”,看样子问题还是出在gravatar头像上了,貌似是gravatar的服务被可恶的GFW给墙了!可是在wordpress上似乎没有办法完全删除gravatar相关的代码,那怎么办呢?后来在一位朋友的博客上看到一个办法,因为目前GFW还没有墙gravatar的HTTPS链接,我们只需要把链接地址改为HTTPS的就行了,试了一下,果然可行。打开模板设置文件functions.php,加入如下代码:

 

//官方Gravatar头像调用ssl头像链接

function get_ssl_avatar($avatar) {

 $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);

 return $avatar;

}

add_filter('get_avatar', 'get_ssl_avatar');

 

------------------2014年12月29日更新完毕------------------

 

-------------------------以下是原文--------------------------------

最近一段时间,发现登陆wordpress后台显示很慢。刚开始以为是插件的问题,然而右击源文件才发现,原来是wordpress程序后台外链式引用了谷歌的字体服务,而最近谷歌的很多服务打开的都很慢,甚至包括谷歌的香港官方网站。

 

解决这个问题的方法:

1、暂时忍耐;

因为之前一直很快,现在突然慢,可能是谷歌官方的数据调整,一段时间后也许会有改变。

2、代码禁用谷歌字体服务;

通过在函数文件functions.php文件中添加以下代码禁用谷歌字体:

 

function coolwp_remove_open_sans_from_wp_core() {

 wp_deregister_style( 'open-sans' );

 wp_register_style( 'open-sans', false );

 wp_enqueue_style('open-sans','');

}

add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );

 

3、插件禁用谷歌字体服务;

插件名称:Remove Open Sans font Link from WP core

插件地址:http://wordpress.org/plugins/remove-open-sans-font-from-wp-core/

 

------------另外一篇可以提高后台打开速度的优化方法------------------------

 

禁用wordpress gravatar使用本地头像提高网页打开速度

WordPress默认的头像是读取gravatar.com上的图片的,对于国内用户来说会使网页打开速度变慢。所以我决定删除掉这块功能。

修改get_avatar函数,在wp-includes/pluggable.php内。修改后的函数如下:

代码如下:

 

if ( !function_exists( 'get_avatar' ) ) :

/**

* Retrieve the avatar for a user who provided a user ID or email address.

*

* @since 2.5

* @param int|string|object $id_or_email A user ID, email address, or comment object

* @param int $size Size of the avatar image

* @param string $default URL to a default image to use if no avatar is available

* @param string $alt Alternate text to use in image tag. Defaults to blank

* @return string tag for the user's avatar

*/

function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {

if ( ! get_option('show_avatars') )

return false;

if ( false === $alt)

$safe_alt = '';

else

$safe_alt = esc_attr( $alt );

if ( !is_numeric($size) )

$size = '96';

$default = includes_url('images/blank.gif');

$avatar = "";

return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);

}

endif;

 

即使用该函数,仅可能返回一个默认头像(位于wp-includes/images/blank.gif内),再配合simple local avatars或Add Local Avatar插件,就实现了预期的效果。

你可能感兴趣的:(wordpress)