性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

处理部分WordPress核心代码或功能,让你的网站更快

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

本文所说的一切,都是为了让你的Wordpress网站更快!

Open sans 的谷歌字体链接

没留意WP从哪个版本开始,为已登录用户加载一个Open sans字族的谷歌字体链接,谷歌吗,你知道的,我们不用的,并且不仅仅是不用的问题,还涉及到速度的问题,所以,要清理掉,如何做呢?请安装 Remove Open Sans font Link from WP core  ,因为这是我的一个用于提升性能的免费插件,所以这不是广告。

admin bar左侧的wordpress logo和链接等

tenpay150

就是上图最左侧的Logo及其子菜单及其链接什么的。

1
2
3
4
add_action( 'admin_bar_menu', 'cwp_remove_wp_logo_from_admin_bar_new', 25 );
function cwp_remove_wp_logo_from_admin_bar_new( $wp_admin_bar ) {
    $wp_admin_bar->remove_node( 'wp-logo' );
}

加载的css和js后面的版本号的问题

tenpay149

看到被加载的css或者js后面的?ver=xxx不说什么了,干掉吧:

1
2
3
4
5
if(!function_exists('cwp_remove_script_version')){
    function cwp_remove_script_version( $src ){  return remove_query_arg( 'ver', $src ); }
    add_filter( 'script_loader_src', 'cwp_remove_script_version' );
    add_filter( 'style_loader_src', 'cwp_remove_script_version' );
}

干掉之后:

tenpay151

这个有点儿涉及安全的多余的查询已经不存在了,它不存在之后,效率会稍高那么一点点儿,积沙成塔嘛!

WP前台顶部清理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function cwp_header_clean_up(){
    if (!is_admin()) {
        foreach(array('wp_generator','rsd_link','index_rel_link','start_post_rel_link','wlwmanifest_link') as $clean){remove_action('wp_head',$clean);}
        remove_action( 'wp_head', 'feed_links_extra', 3 );
        remove_action( 'wp_head', 'feed_links', 2 );
        remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
        remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
        remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );
        foreach(array('single_post_title','bloginfo','wp_title','category_description','list_cats','comment_author','comment_text','the_title','the_content','the_excerpt') as $where){
         remove_filter ($where, 'wptexturize');
        }
        /*remove_filter( 'the_content', 'wpautop' );
        remove_filter( 'the_excerpt', 'wpautop' );*/
        wp_deregister_script( 'l10n' );
    }
}

将上述代码添加进你的Wordpress插件或者正在使用的Wordpress主题的functions.php之后,多余的查询和文件加载的问题已经不存在了。

移除某些WP自带的小工具

请注意:你可以根据自己的实际需要注释掉下面的某行或某些行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function coolwp_remove_meta_widget() {
     unregister_widget('WP_Widget_Pages');
     unregister_widget('WP_Widget_Calendar');
     //unregister_widget('WP_Widget_Archives');
     unregister_widget('WP_Widget_Links');
     unregister_widget('WP_Widget_Meta');
    // unregister_widget('WP_Widget_Search');
      // unregister_widget('WP_Widget_Text');
     unregister_widget('WP_Widget_Categories');
     unregister_widget('WP_Widget_Recent_Posts');
     unregister_widget('WP_Widget_Recent_Comments');
     unregister_widget('WP_Widget_RSS');
     unregister_widget('WP_Widget_Tag_Cloud');
     unregister_widget('WP_Nav_Menu_Widget');
    /*register my custom widget*/
    register_widget('WP_Widget_Meta_Mod');
}
add_action( 'widgets_init', 'coolwp_remove_meta_widget',11 );

上面是我根据某个项目的实际需要移除了若干小工具的代码,没被注释掉的会被移除。

移除WP为仪表盘(dashboard)页面加载的小工具

这个就可以放心大胆的全部移除了:

1
2
3
4
5
6
7
8
9
10
11
12
function cwp_remove_dashboard_widgets() {
    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
add_action('wp_dashboard_setup', 'cwp_remove_dashboard_widgets',11 );

Bonus:加载自定义jQuery库的链接

这么做的目的也是为了让网站更快。

请注意:加载自定义jQuery的链接的时候,jquery migrate将不会被加载,这意味着:如果你使用下面的代码加载外链的jQuery库,并且你的主题或者插件中的js使用了被新版本jQuery弃用的API或者函数的话,那些代码有可能会失效;如果你用的主题和插件版本都比较新,那么,你可以放心的使用下面的代码:

对于潜在访客大多在国内的网站,建议使用新浪的jQuery加速,因为经过测试,它家的jquery CDN在国内来说是最快的,同时,折衷考虑下(兼容性,速度,还有Sinaapp中放置的jquery版本的情况),下面的代码采用的是jQuery 1.9.1版:

1
2
3
4
5
6
7
8
9
/*Using SinaApp jQuery CDN*/
function cwp_modify_jquery() {
    if (!is_admin()) {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js', false, '1.9.1');
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'cwp_modify_jquery');
MetInfo | 最适合企业网站建设的cms系统

关于 coolwp.net

只要是地产商拥护的,我们都反对,除了世界和平与宇宙和谐,但他们貌似就是为了破坏这些为生的。

44 条评论

  1. 多谢作者分享。前面几条试了一下,效果不错。我想请教一下,前台顶部清理都清理了哪些东西?

  2. 处理后确实提升不少,不过移除WP自带小工具的方法以及没用了貌似,提示:Fatal error: Class ‘WP_Widget_Meta_Mod’ not found in xxxx/widgets.php on line 411

  3. 为什么不同的浏览器显示的字体不同啊

  4. 4.0.1 貌似沒用了.. 加載後還是會有版本號出現

  5. 额,请问function.php在哪里啊?本人代码小白 :arrow:

  6. 我就觉得谷歌字体这个能大大提升速度,其他的到底能提升多少速度嘛,如果提升不多的就没啥意义了,因为搞这玩意确实累人

  7. 前来学习,代码不太懂。正在努力学习中。

发表评论