欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」让 WordPress 网站飞起来的几个functions

作者 : 自学哈 本文共4322个字,预计阅读时间需要11分钟 2022-11-26 共122人阅读
也想出现在这里? 联系我们

WordPress 毕竟是歪果仁开发的系统放到中国来会有一些水土不服,因为有广泛的使用到一些境外网站服务以及一些不必要的功能导致 WP 网站变慢,这里就将介绍如何通过 function.php 来精简 WP。

functions.php 是 WordPress 预留的功能函数文件,专门用于添加各种自定义函数代码。现在的WordPress主题的功能越来越强大了,一般都自带了 functions.php 这个文件(通常在主题根目录)。WordPress 加速的一个要点就是能不用插件就不要用插件,插件越多网站越慢 。

内容

首先,我们将那些被墙的内容去掉,打不开会拖慢速度。下面是我从各网站搜罗来的 WP 精简 function 内容,大家选择性使用,尽量一个一个的添加,因为有些主题和插件可能会依赖到某些函数。

禁用谷歌字体

如果使用了 WP 默认的主题那么需要通过插件解决: Remove Open Sans font Link from WP core 如果是其他主题,添加:

//WordPress 后台禁用Google Open Sans字体,加速网站
add_filter( \'gettext_with_context\', \'wpdx_disable_open_sans\', 888, 4 );
function wpdx_disable_open_sans( $translations, $text, $context, $domain ) {
  if ( \'Open Sans font: on or off\' == $context && \'on\' == $text ) {
    $translations = \'off\';
  }
  return $translations;
}

替换 Gravatar

使用 V2EX 的 Gravatar 镜像来代替原来的,支持 HTTPS。

//使用 V2EX 的 Gravatar 镜像
function get_ssl_avatar($avatar) {
   $avatar = preg_replace(\'/.*\\/avatar\\/(.*)\\?s=([\\d]+)&.*/\',\'<img src=\"https://cdn.v2ex.co/gravatar/$1?s=$2\" class=\"avatar avatar-$2\" height=\"$2\" width=\"$2\">\',$avatar);
   return $avatar;
}
add_filter(\'get_avatar\', \'get_ssl_avatar\');

强制jquery库文件底部载入

将 JS 放到最后加载,有利于提高网站加载效率

//强制jquery库文件底部载入
function ds_print_jquery_in_footer( &$scripts) {
    if ( ! is_admin() )
        $scripts->add_data( \'jquery\', \'group\', 1 );
}
add_action( \'wp_default_scripts\', \'ds_print_jquery_in_footer\' );

去除加载的css和js后面的版本号

去掉版本查询提高效率,看着也舒心

//去除加载的css和js后面的版本号
function _remove_script_version( $src ){
    $parts = explode( \'?\', $src );
    return $parts[0];
}
add_filter( \'script_loader_src\', \'_remove_script_version\', 15, 1 );
add_filter( \'style_loader_src\', \'_remove_script_version\', 15, 1 );
add_filter( \'pre_option_link_manager_enabled\', \'__return_true\' );

删除 WP 头不需要的代码

这个去掉了,可以有效精简 WP 多余的nearing

//删除 wp_head 中无关紧要的代码
remove_action(\'wp_head\', \'rsd_link\');
remove_action(\'wp_head\', \'wlwmanifest_link\');
remove_action(\'wp_head\', \'wp_generator\');
remove_action(\'wp_head\', \'start_post_rel_link\');
remove_action(\'wp_head\', \'index_rel_link\');
remove_action(\'wp_head\', \'adjacent_posts_rel_link\');

禁用 Emoji 功能

WP 的 EMOJI 图片国内无法使用,直接禁用

// 禁用 Emoji 功能 
remove_action(\'admin_print_scripts\',    \'print_emoji_detection_script\');
remove_action(\'admin_print_styles\', \'print_emoji_styles\');
#remove_action(\'wp_head\',       \'print_emoji_detection_script\', 7);
remove_action(\'wp_print_styles\',    \'print_emoji_styles\');
remove_action(\'embed_head\',     \'print_emoji_detection_script\');
remove_filter(\'the_content_feed\',   \'wp_staticize_emoji\');
remove_filter(\'comment_text_rss\',   \'wp_staticize_emoji\');
remove_filter(\'wp_mail\',        \'wp_staticize_emoji_for_email\');

屏蔽文章 Embed 功能

多余功能,去掉

//屏蔽文章 Embed 功能
remove_action(\'rest_api_init\', \'wp_oembed_register_route\');
remove_filter(\'rest_pre_serve_request\', \'_oembed_rest_pre_serve_request\', 10, 4);
remove_filter(\'oembed_dataparse\', \'wp_filter_oembed_result\', 10 );
remove_filter(\'oembed_response_data\',   \'get_oembed_response_data_rich\',  10, 4);
remove_action(\'wp_head\', \'wp_oembed_add_discovery_links\');
remove_action(\'wp_head\', \'wp_oembed_add_host_js\');

关闭 XML-RPC 功能

// 关闭 XML-RPC 功能 
 add_filter(\'xmlrpc_enabled\', \'__return_false\');

屏蔽 REST API

// 屏蔽 REST API
add_filter(\'rest_enabled\', \'__return_false\');
add_filter(\'rest_jsonp_enabled\', \'__return_false\');

移除头部 wp-json 标签和 HTTP header 中的 link

//移除头部 wp-json 标签和 HTTP header 中的 link 
remove_action(\'wp_head\', \'rest_output_link_wp_head\', 10 );
remove_action(\'template_redirect\', \'rest_output_link_header\', 11 );

屏蔽若干无用功能

// Disable auto-embeds for WordPress >= v3.5
remove_filter( \'the_content\', array( $GLOBALS[\'wp_embed\'], \'autoembed\' ), 8 );

add_filter(\'automatic_updater_disabled\', \'__return_true\');  // 彻底关闭自动更新

remove_action(\'init\', \'wp_schedule_update_checks\'); // 关闭更新检查定时作业
wp_clear_scheduled_hook(\'wp_version_check\');            // 移除已有的版本检查定时作业
wp_clear_scheduled_hook(\'wp_update_plugins\');       // 移除已有的插件更新定时作业
wp_clear_scheduled_hook(\'wp_update_themes\');            // 移除已有的主题更新定时作业
wp_clear_scheduled_hook(\'wp_maybe_auto_update\');        // 移除已有的自动更新定时作业

remove_action( \'admin_init\', \'_maybe_update_core\' );        // 移除后台内核更新检查

remove_action( \'load-plugins.php\', \'wp_update_plugins\' );   // 移除后台插件更新检查
remove_action( \'load-update.php\', \'wp_update_plugins\' );
remove_action( \'load-update-core.php\', \'wp_update_plugins\' );
remove_action( \'admin_init\', \'_maybe_update_plugins\' );

remove_action( \'load-themes.php\', \'wp_update_themes\' );     // 移除后台主题更新检查
remove_action( \'load-update.php\', \'wp_update_themes\' );
remove_action( \'load-update-core.php\', \'wp_update_themes\' );
remove_action( \'admin_init\', \'_maybe_update_themes\' );
本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」让 WordPress 网站飞起来的几个functions
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号