新闻中心
如何在WordPress中正确禁用或移除默认加载的jQuery脚本

本教程旨在指导WordPress用户如何正确禁用或移除网站默认加载的jQuery脚本,以解决因重复加载、版本冲突或性能问题(如从Google CDN加载缓慢)导致的困扰。核心在于理解WordPress脚本管理的“句柄”概念,并使用`wp_deregister_script('jquery')`这一正确方法,而非常见的`jquery-js`,同时提供替换自定义jQuery的方案及重要注意事项。
引言:为何需要禁用WordPress默认的jQuery?
WordPress在默认情况下会加载jQuery库,这通常是为了确保主题和插件能够正常运行。然而,在某些场景下,用户可能希望禁用或替换这个默认加载的jQuery,主要原因包括:
- 性能优化: 默认加载的jQuery可能来自远程CDN(如Google CDN),如果CDN响应速度慢或网络条件不佳,会导致页面加载时间显著增加。
- 避免冲突: 自定义主题或某些插件可能已经包含了自己的jQuery版本,导致网站上同时加载多个jQuery实例,这不仅浪费带宽,还可能引发版本冲突,导致脚本错误。
- 版本控制: 开发者可能需要特定版本的jQuery来满足项目需求,而WordPress默认加载的版本可能不符合要求。
当您发现网站加载了多余的jQuery,或者默认jQuery加载缓慢时,正确地禁用它并按需加载自己的版本就显得尤为重要。
理解WordPress脚本管理:句柄的重要性
WordPress通过一套称为“脚本和样式表管理系统”的机制来处理前端资源。在这个系统中,每个脚本和样式表都被赋予一个唯一的“句柄”(handle)。当您需要对某个脚本进行操作(如禁用、注册、排队)时,必须使用其正确的句柄。
对于WordPress默认加载的jQuery,其内部句柄是jquery。许多用户在尝试禁用时,可能会误用jquery-js或jquery.js等变体,导致操作无效。这是因为jquery-js并非WordPress内部识别的jQuery句柄。
正确的禁用方法:使用wp_deregister_script('jquery')
要正确禁用WordPress默认加载的jQuery,您需要使用wp_deregister_script()函数,并传入正确的句柄jquery。此操作应在wp_enqueue_scripts动作钩子中执行,并建议添加条件判断,确保只在前端禁用,避免影响后台管理界面。
GoEnhance
全能AI视频制作平台:通过GoEnhance AI让视频创作变得比以往任何时候都更简单。
347
查看详情
以下是实现此功能的代码示例,您需要将其添加到当前活动主题的functions.php文件中:
<?php
/**
* 禁用WordPress默认加载的jQuery
*/
function custom_remove_default_jquery() {
// 确保只在网站前端禁用jQuery,不影响WordPress管理后台
if (!is_admin()) {
wp_deregister_script('jquery');
}
}
// 将函数挂载到wp_enqueue_scripts动作钩子
add_action('wp_enqueue_scripts', 'custom_remove_default_jquery');
?>代码解释:
- custom_remove_default_jquery():这是一个自定义函数,用于执行禁用操作。
- if (!is_admin()):这个条件判断非常重要,它确保只有在非WordPress管理后台的页面(即网站前端)才会执行wp_deregister_script('jquery')。这是为了避免禁用jQuery后导致WordPress管理界面出现功能问题。
- wp_deregister_script('jquery'):这是核心函数调用,它会告诉WordPress取消注册名为jquery的脚本。一旦取消注册,WordPress就不会再将这个脚本排队加载到页面中。
- add_action('wp_enqueue_scripts', 'custom_remove_default_jquery');:这行代码将您的自定义函数挂载到wp_enqueue_scripts动作钩子上。这个钩子是WordPress在准备加载所有前端脚本和样式时触发的,是管理前端脚本的最佳时机。
可选:禁用后如何加载自己的jQuery?
在禁用WordPress默认jQuery之后,如果您的网站仍然依赖jQuery(例如,主题或插件的某些功能需要),您需要手动注册并排队加载您自己的jQuery版本。这通常涉及以下步骤:
- 准备您的jQuery文件: 可以是来自您选择的CDN(如Cloudflare CDN、jsDelivr CDN)的URL,也可以是您上传到主题目录的本地文件。
- 使用wp_enqueue_script()函数: 在禁用默认jQuery的同一个函数中(或者另一个紧随其后的函数),使用wp_enqueue_script()来加载您的自定义jQuery。
以下是一个加载自定义jQuery的示例代码:
<?php /** * 禁用WordPress默认加载的jQuery并加载自定义jQuery */ function custom_enqueue_my_jquery() { if (!is_admin()) { // 1. 禁用WordPress自带的jQuery wp_deregister_script('jquery'); // 2. 注册并排队加载您自己的jQuery版本 // 示例1:从CDN加载jQuery 3.6.0 wp_enqueue_script( 'jquery', // 句柄保持为'jquery',以便依赖于jQuery的脚本能找到它 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js', // 您选择的CDN路径 array(), // 依赖项,这里没有其他依赖 '3.6.0', // 版本号 true // 在页脚加载脚本(true)或在头部加载(false) ); // 示例2:加载主题目录下的本地jQuery文件 (如果需要,请取消注释并修改路径) /* wp_enqueue_script( 'jquery', get_template_directory_uri() . '/js/jquery-3.6.0.min.js', // 假设您的jQuery文件在主题的/js/目录下 array(), '3.6.0', true ); */ } } add_action('wp_enqueue_scripts', 'custom_enqueue_my_jquery'); ?>
代码解释:
- wp_enqueue_script('jquery', 'YOUR_JQUERY_URL', array(), 'VERSION', true);:
- 第一个参数'jquery':保持句柄为jquery至关重要。这样,任何依赖于jquery句柄的脚本(例如wp_enqueue_script('my-script', 'my-script.js', array('jquery')))仍然能够找到并正确加载您的自定义jQuery。
- 第二个参数'YOUR_JQUERY_URL':替换为您的jQuery文件的完整URL,可以是CDN链接或主题目录下的相对路径。
- 第三个参数array():这是一个依赖数组。如果您的jQuery文件依赖于其他脚本才能运行,可以在这里列出它们的句柄。对于jQuery本身,通常没有外部依赖。
- 第四个参数'VERSION':脚本的版本号。这有助于缓存管理。
- 第五个参数true:如果设置为true,脚本将在页脚加载(即在
以上就是如何在WordPress中正确禁用或移除默认加载的jQuery脚本的详细内容,更多请关注php中文网其它相关文章!
# javascript
# php
# 句柄
# 加载
# cdn
# wordpress
# go
# ajax
# 前端
# js
# jquery
# java
# word
# 网站建设计划时间节点
# 冀州seo优化关键词
# 沈阳湖南网站优化推广
# 五金网站建设哪家靠谱
# 产品推广营销哪家好做点
# 营销人员推广方案范文大全
# 福田有效网站推广哪个好
# 开州网络推广网站建设
# 宜兴网站优化推广
# 法治社会建设网站
# 上传
# 您需要
# 这是
# 样式表
# 移除
# 自己的
# 自定义
# 您的
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
163邮箱官方主页登录 直达网易邮箱登录核心页面
Python大型XML文件高效流式解析教程
邮政快递单号查询入口 邮政快递物流信息在线查询入口
三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】
LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置
mcjs网页版在线存档 mcjs云存档登录入口
Lar*el Excel导入时生成自定义递增ID的策略与实践
PHP URL参数传递与500错误调试指南
windows10怎么关闭系统提示音_windows10彻底静音设置方法
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
excel怎么制作工资条 excel快速生成工资条的方法
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
sublime如何只显示或隐藏特定类型文件_sublime侧边栏文件过滤
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
jQuery Mask 插件中实现电话号码固定前导零的教程
中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】
机器学习中对数变换预测结果的反向还原
在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析
MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏
c++如何使用chrono库处理时间_c++标准库时间与日期操作
4399体育竞技小游戏_4399小游戏赛事入口
Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐
J*aScript打印功能_j*ascript输出控制
TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单
c++如何使用TBB库进行任务并行_c++ Intel线程构建模块
一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰
高德地图怎么看全景照片_高德地图全景照片浏览教程
深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现
在VS Code中配置和运行Dart程序的完整步骤
j*a toString()的覆盖
J*aScript Promise链中如何正确终止后续.then执行并处理错误
Django AJAX 文件上传教程:解决图片无法保存到模型的常见问题
抖音DOU+怎么投最有效 抖音付费推广的ROI提升技巧
Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
ArrayList与LinkedList操作复杂度详解:遍历与修改
基于动态规划的房屋花卉种植最小成本算法详解
消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
mc.js免安装版 mc.js一键畅玩入口
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
必由学官方平台入口 必由学在线课堂登录地址
使用Python高效删除Word宏并转换DOCM为DOCX格式
C++ map遍历方法大全_C++ map迭代器使用总结
圆通快递查询实时追踪 圆通物流包裹状态快速查看
J*a编写用户注册与登录功能_掌握字符串与验证逻辑
《燕云十六声》两周内达九百万玩家!位居畅销榜第五


2025-12-03
浏览次数:次
返回列表
nqueue_my_jquery() {
if (!is_admin()) {
// 1. 禁用WordPress自带的jQuery
wp_deregister_script('jquery');
// 2. 注册并排队加载您自己的jQuery版本
// 示例1:从CDN加载jQuery 3.6.0
wp_enqueue_script(
'jquery', // 句柄保持为'jquery',以便依赖于jQuery的脚本能找到它
'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js', // 您选择的CDN路径
array(), // 依赖项,这里没有其他依赖
'3.6.0', // 版本号
true // 在页脚加载脚本(true)或在头部加载(false)
);
// 示例2:加载主题目录下的本地jQuery文件 (如果需要,请取消注释并修改路径)
/*
wp_enqueue_script(
'jquery',
get_template_directory_uri() . '/js/jquery-3.6.0.min.js', // 假设您的jQuery文件在主题的/js/目录下
array(),
'3.6.0',
true
);
*/
}
}
add_action('wp_enqueue_scripts', 'custom_enqueue_my_jquery');
?>