替换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 代码失效,需要自己多多调试。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏React Native开发圈

React Native 图片查看组件

npm i react-native-image-zoom-viewer--save

1072
来自专栏前端人人

React第三方组件5(状态管理之Redux的使用④TodoList下)

本教程总共6篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件5(状态管理之Redux的使用①简...

3715
来自专栏计算机编程

【vue随手笔记】MuseUI 自定义 select 适配 mobile

通过 emit将result值发给外部实现字父组件的双向绑定,于是父组件获取result值即:

1172
来自专栏进击的君君的前端之路

jQuery

1403
来自专栏WindCoder

Jquery控制input与selected

当以form表单提交,diabled时无法获取数值,readonly可以获取到数值。

1691
来自专栏谦谦君子修罗刀

RN项目第一节

一、项目说明 本项目为模仿美团的项目,采用的是网上提供的API接口。导航采用 公司推荐的react-navigation,滚动条采用第三方组件react-na...

3516
来自专栏Python小屋

Python爬虫基础:常用HTML标签和Javascript入门

大部分HTML标签是闭合的,由开始标签和结束标签构成,二者之间是要显示的内容,例如:<title>网页标题</title>。也有的HTML标签是没有结束标签的,...

1201
来自专栏iOS开发日记

iOS开发系列——文件结构

关于AppDelegate、main.m前面已经介绍过了,ViewController和Main.storyboard在后面介绍,这里先说一下Image.xca...

3968
来自专栏Python研发

购物时添加数量

801
来自专栏技术博文

十个需要牢记的Ubuntu快捷键

在Ubuntu中有不少大家熟知的快捷键,相信大家在使用中也会用到相应的快捷键。在本文中为大家总结经常使用的十个Ubuntu快捷键。相信本文对还不知道这些快捷键的...

3159

扫码关注云+社区