替换WordPress 自带默认的 jQuery库, jQuery库页脚加载
在开发WordPress 主题或者WordPress 插件时候,常常要通过wp_enqueue_script
这个钩子挂载WordPress 自带的 jQuery库而非是通过硬编码的方式来加载,毕竟是为了避免多次加载 jQuery库。但在实际操作中,常常会有各种各样的问题出现。
因为WordPress 自带的 jQuery库会在最后添加jQuery.noConflict()
以保证与其他js 库的兼容,因此那些通过 $ 代替jQuery的缩写代码会失效。详见《WordPress中的jQuery库不起作用的相关问题》。再者,为了速度上的考虑,加载一个80kb+的jQuery 库最好是通过第三方来(如google的、SAE的)——特别是主机不给力的网站。最后,如果允许,jQuery 库最好在页脚加载。接下来的代码就是解决上面提到的问题。
替换WordPress 自带默认的 jQuery库
在主题的functions.php 文件下加入以下代码:
add_action( 'init', 'jquery_register' ); function jquery_register() { if ( !is_admin() ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( 'http://cdn.devework.com/js/jquery/1.5.2/jquery.min.js' ), false, null, true ); wp_enqueue_script( 'jquery' ); } } |
---|
wp_deregister_script
是注销WordPress 自带的默认的jQuery 库;wp_register_script
是自定义jQuery 库;使用if ( !is_admin() )是为了确保这些脚本和css只在前端加载,不会在后台管理界面加载。
第三方jQuery 库一般都有CDN 驱动,可以保证最大速度。上面代码中的是Jeff 放在七牛云存储上面的,速度上几乎是最快的,你可以用Jeff的这个地址,也可以用谷歌、新浪SAE、百度的,详见《WordPress新第三方jQuery 库选择(又拍云&百度)》
jQuery库在页脚(Footer)加载的方法
代码如下:
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' ); |
---|
不过要注意将jQuery库在页脚(Footer)加载可能会导致一些jq 代码失效,需要自己多多调试。
- Go语言中三种不同md5计算方式的性能比较
- Go语言中反射的正确使用
- 从零教你在Linux环境下(ubuntu)如何编译hadoop2.4
- 【Golang语言社区】前端编程-利用CSS3实现雷达扫描效果图特效
- 【Golang语言社区】h5 实现图片拖拽
- go语言结构体定义使用
- Go语言单元测试
- go语言中json转成map结构
- 让你快速认识flume及安装和使用flume1.5传输数据(日志)到hadoop2.2
- 几种服务器端IO模型的简单介绍及实现(上)
- tensorflow版的bvlc模型
- 几种服务器端IO模型的简单介绍及实现(下)
- caffe中关于数据进行预处理的方式
- 高性能IO模型浅析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python Django搭建网站流程图解
- Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
- keras自定义损失函数并且模型加载的写法介绍
- pandas DataFrame运算的实现
- Python流程控制语句的深入讲解
- 在keras里面实现计算f1-score的代码
- Keras官方中文文档:性能评估Metrices详解
- Django QuerySet查询集原理及代码实例
- Python中zipfile压缩文件模块的基本使用教程
- 基于nexus3配置Python仓库过程详解
- Python Django中间件使用原理及流程分析
- keras读取h5文件load_weights、load代码操作
- 简单了解Python变量作用域正确使用方法
- Python实现Keras搭建神经网络训练分类模型教程
- keras导入weights方式