移除wordpress前端自带的js和css

2023-11-20

wordpress-clean-up

wordpress在其wp-head和wp-foot函数中,会自动加载一些js和css,但这些js和css往往在我们实际的使用中却无法用到,这就造成了一些资源的浪费,会将我们的网站速度拖慢。

我们之前发布了一篇文章清理header的文章,但是这个清理不是很全面,因此在这里,我们来说明一下如何将wordpress所有自动加载的css和js清理掉,让我们的网站速度加载更快。

今天我们从wordpress比较难删除的几个加载开始讲解,网上针对这几个比较难以删除的加载资料很少,这里给大家一个解决的方法。

首先说道的是Dashicons.css、thickbox.css、thickbox.js

dashicons,Dashicons 是 WordPress 3.8 版本引进的图标字体

打开源码,你会发现你的wordpress头部加载了Dashicons.css,文件保存在wp-includes文件夹内,这个css样式是wordpress引进的图标字体加载,具体的图标是后台中如“仪表盘”、“文章”等按钮前面的图标。

然而在我们的网站前端一般是不用到这个图标的,除了在我们登陆之后,顶部显示的管理员登陆条需要这个css显示,因此,我们可以规定,在未登录情况之下,去除掉他,让js加载更快。

thickbox.css和thickbox.js是wordpress自带的一个弹出层控件

thickbox.css、thickbox.js是wordpress自带并修改过的弹出层控件,在后台的作用是弹出媒体库等信息,因此在前端中,我们一般也不需要这个空间,除非是你的主题使用了这个控件只做了弹出效果,这需要你查看你的主题介绍或者咨询主题作者,而一般的主题都不会使用它。

因此这个控件的js和css都可以删除,它一共加载了一个css文件,一个js'文件以及一个内置的script标签,我们可以将其清理不去加载。

Dashicons和thickbox的清理方法

将下面的这段代码加入到你的function.php或者其他功能性文件中:

add_action( 'wp_print_styles',     'my_deregister_styles', 100 );
function my_deregister_styles()    {
if(!is_user_logged_in()){
wp_deregister_style( 'amethyst-dashicons-style' );
wp_deregister_style( 'dashicons' );
wp_deregister_script('thickbox');}
}

这样,在未登录时,就不会再加载这些文件了,而在登陆之后访问前端,为了顶部管理员工具条能够正常显示,这段代码在登陆之后会自动加载(代码中已作出判断)

清理emoji表情的脚本加载

wordpress自带了wp-emoji-release.min.js,用于加载emoji表情,这是在wordpress4.2中加入的,你可以彻底删除这个表情加载的脚本,可以使用Disable Emojis插件来禁用这个表情,也可以使用一下代码放入你的function.php或者关联的功能性文件中:

 

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
if ( !function_exists( 'disable_embeds_init' ) ) :
function disable_embeds_init(){
global $wp;
$wp->public_query_vars = array_diff($wp->public_query_vars, array('embed'));
remove_action('rest_api_init', 'wp_oembed_register_route');
add_filter('embed_oembed_discover', '__return_false');
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_filter('tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin');
add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
}
add_action('init', 'disable_embeds_init', 9999);
endif;

 

这样就完全禁止加载了。

WEB主题公园的主题近期会批量更新这些清理,对所有的主题进行优化,如果你所使用的主题还在加载这些js和css,可以将这些代码自己加在当前主题目录下functions文件夹下的functions_z.php中,或者加载widget.php都是可以的,之后的更新之后不需要再重新添加了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移除wordpress前端自带的js和css 的相关文章

随机推荐

  • 前端面试中级开发必须知道跨域解决方案

    跨域 不同协议 不同URL 不同端口号都会产生跨域 解决跨域的方案 postMessage web worker iframe Jsonp 用script标签请求地址 标签可以跨域 cors 服务端设置响应头信息 允许跨域 1 最常见用co
  • 【Java进阶营】29个你必须学会的微服务面试问题(含答案解析)

    这29个微服务面试题基本涵盖了方方面 希望对你有所帮助 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img YvPsK1zg 1651230439289 https upload images jianshu io
  • Starting udev卡死的问题

    Linux启动停止在Starting udev 一 出现问题 在VM的CentOS 5 4 32bit上重新编译了内核 2 6 19 7 启动新内核时 停在starting udev 然后按下Ctrl C取消 才能继续启动 于是google
  • 解决View drawableLeft左侧图片大小不可控的问题

    今天在制作带文字的图片按钮的时候 使用了TextView的drawableLeft属性 但是在使用的过程中 我发现我所使用的图片资源的大小过大 导致整个效果很不和谐 可是drawableLeft并不能在xml通过属性控制它的大小 这时 我就
  • 《OpenGL编程指南》示例笔记(2)--独立地移动光源

    TITLE OpenGL编程指南 示例笔记 2 独立地移动光源 AUTHOR norains DATE Monday 21 June 2010 Environment Windows XP 示例概述 例名 独立地移动光源 序号 5 6 页码
  • TVS管电路原理图符号及选型举例

    TVS管的电路原理图符号与稳压二极管符号类似 结构也都差不多 了解TVS管的电路原理图符号是掌握TVS管符合选型的基础 一般常见的TVS管电路原理图符号有 VBR IPP IR VRWM VC PM CP VBR代表的是 击穿电压 IPP代
  • 最详细的Vue实现日历组件Calendar(日期点击多选,滑动多选)

    1 成果演示 1 1 日期的切换 1 2 点击多选 1 3 滑动多选 2 实现基本的日期渲染 2 1 思路 2 1 1 要用到的Date对象方法 new Date 2020 4 1 getDay 计算传入的日期是星期几 返回值0表示星期天
  • 官网下载Eclipse

    1 打开Eclipse官网 https www eclipse org 也可以在百度中 搜索 Eclipse 2 点击 Download 3 点击 Download Pakeges 4 下拉 选择所要的版本和系统 5 点击 Select A
  • OJ-合并两个有序链表

    题目描述 代码如下 Definition for singly linked list struct ListNode int val struct ListNode next struct ListNode mergeTwoLists s
  • C# 中Object的方法含义以及使用(详)

    如下图是object中的方法 上图来源于我阅读C 入门经典第8版的书本当中 图中明确标明方法的使用 以及含义 Equals方法 比较两个对象是否相等 在Object是所有的父类大家都知道 其中Object中方法Equals 有两种 obje
  • 【兄弟反目成仇系列】:我只是写了一个爆炸信息窗口脚本,好兄弟追了我几条街~

    文章目录 真的来咯 爆炸信息窗口 设计思路 模块准备 删除好友警告 源代码 这时你可能会问 批量获取表情包 结束语 专栏 Python零基础入门篇 Python网络蜘蛛 Python数据分析 Django基础入门宝典 小玩意儿 Web前端学
  • c#方法参数:in

    方法参数in只能读入 不能在方法内修改 它和ref一样也需要在作为实参时就已经进行了初始化 而且同ref一样 无论定义方法还是调用方法都需要加上in关键字 class Program static void Add in int num1
  • 等级测评——定级、等级划分及测评时间

    定级 在等级保护中 定级这个步骤很关键 首先我们需要知道我们这个资产是什么样的一个级别 一级二级三级 因为不同的级别表示着我们要对这个资产做相应的保护 那么我们这个定级是怎么么定级呢 参考的又是什么标准呢 首先我们需要先确认定级对象 这个对
  • R----stringr包介绍学习

    1 stringr介绍 stringr包被定义为一致的 简单易用的字符串工具集 所有的函数和参数定义都具有一致性 比如 用相同的方法进行NA处理和0长度的向量处理 字符串处理虽然不是R语言中最主要的功能 却也是必不可少的 数据清洗 可视化等
  • Verilog中$timeformat的用法

    Verilog中 timeformat的用法 更新历史 20200807 首次发布 语法 timeformat的语法如下 timeformat units number precision number suffix string mini
  • (转发)西门子S7-1200PLC之间TCP通信实例步骤

    1 软件组态 新建两个CPU 在组态界面的网络视图手绘连接两个PLC的以太网口 如下 2 在两个CPU以太网口的属性中设置IP地址 设置同一网段 方便调试 3 在PLC 1程序块中添加个背景数据块 新建接收数组跟发送数组 以方便存放接收或发
  • mysql本机地址_mysql连接时用的IP地址是不是电脑本机上的IP地址呢!

    展开全部 是root用户的话 IP就是或 lt 127 0 0 1 gt 只是代表使用本机 不是代表本机IP地址 操作方法如下62616964757a686964616fe58685e5aeb931333433623737 1 首先 利用N
  • 【工具类】比较优雅的在工具类中,用泛型方法获取枚举的值

    目录 痛点 解决 优化更灵活的泛型 痛点 在代码中 经常用到枚举 也经常用到枚举获取code 获取type 通常我们写的代码如下 public enum Status YES 1 是 NO 2 否 private int code priv
  • 科技云报道:云安全的新战场上,如何打破“云威胁”的阴霾?

    科技云报道原创 近年来 在云计算和网络安全产业的蓬勃发展下 我国云安全行业市场规模呈现高速增长态势 在网络安全市场总体规模中占比不断上升 据统计 近5年我国云安全市场保持高速增长 2021年我国云安全市场规模达到了117 7亿元 2022年
  • 移除wordpress前端自带的js和css

    wordpress在其wp head和wp foot函数中 会自动加载一些js和css 但这些js和css往往在我们实际的使用中却无法用到 这就造成了一些资源的浪费 会将我们的网站速度拖慢 我们之前发布了一篇文章清理header的文章 但是