让 WordPress 飞起来的几个 function
注意:本文最后更新时间:
2021-03-12 04:32:03
,文中部分资源内容具有一定的时效性,若文中的资源内容发生错误或已经失效,请在下方留言或者点击右下角QQ图标联系我们。介绍
WordPress 毕竟是歪果仁开发的系统放到中国来会有一些水土不服,因为有广泛的使用到一些境外网站服务以及一些不必要的功能导致 WP 网站变慢,这里就将介绍如何通过 function.php
来精简 WP。
functions.php
是 WordPress 预留的功能函数文件,专门用于添加各种自定义函数代码。现在的 WordPress 主题的功能越来越强大了,一般都自带了 functions.php
这个文件(通常在主题根目录)。
WordPress 加速的一个要点就是能不用插件就不要用插件,插件越多网站越慢 。
例如,我的主题目录是:/data/wwwroot/www.yephy.com/wp-content/themes/begin/
,那么在该目录下就存在 functions.php
文件,使用代码编辑器修改它。
内容
首先,我们将那些被墙的内容去掉,打不开会拖慢速度。下面是我从各网站搜罗来的 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; }
强制 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 后面的版本号
/** Remove Query strings from Static Resources. */
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 功能
多余功能,去掉
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' );
本站所有资源解压码为:
铭创网络——精选WordPress主题及WordPress插件,帮助站长快速搭建心仪的网站。
铭创网络 » 让 WordPress 飞起来的几个 function
www.yephy.com
铭创网络——精选WordPress主题及WordPress插件,帮助站长快速搭建心仪的网站。
服务范围 | 1、专业提供WordPress主题、插件汉化、优化、PHP环境配置等服务请详询在线客服 | |||
2、本站承接 WordPress 建站、仿站、开发、定制等各类服务 | ||||
3、英文模板(主题)安装费用为150元/次,汉化主题首次免费安装(二次安装100元/次) | ||||
售后时间 | 周一至周五(法定节假日除外) 10:00-22:00 | |||
免责声明 | 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: yephy8#gmail.com,请自行替换#),我们会及时删除,给您带来的不便,我们深表歉意! |
铭创网络 » 让 WordPress 飞起来的几个 function