用的越多越发现 jQueryTools 是一个非常不错的 jQuery 附加库,如同其官方网站所描述的 “The missing UI library for the Web” 仅仅整合了网站前端中常用的一些功能,于是忍不住想拿来替换掉本站 nan.im 目前使用的 jQuery + swfObject + LightBox 形式的库,这样将大大利于未来扩展一些功能及应用。下面将提供一些代码帮助给主题模板添加 jQueryTools 支持。
这里用到了 WordPress 的 wp_enqueue_script 函数,以下代码将添加到当前主题的 functions.php 文件中:
// 直接使用 wp_enqueue_script 引入即可同时自动注册该库:
// 1、使用 jQueryTools 提供的 CDN 地址加载,但目前提供该服务的 NetDNA 在亚洲还没有服务器;
wp_enqueue_script('jquery-tools', 'http://cdn.jquerytools.org/1.1.2/jquery.tools.min.js', array('jquery'), '1.1.2');
// 2、最好还是直接从本地加载吧,后面的地址根据具体情况修改;
wp_enqueue_script('jquery-tools', WP_CONTENT_URL.'/themes/anyLiv/script/jquery.tools.min.js', array('jquery'), '1.1.2');
// 如果你跟我一样想把 jQueryTools 合并到 jQuery.js 文件中的话需要下面代码:
wp_deregister_script('jquery'); // 首先反注册 jquery 库的句柄;
wp_enqueue_script('jquery', WP_CONTENT_URL.'/themes/anyLiv/script/jquery.tools.min.js', false, '1.3.2');
// 反注册以后重新引入同名的 jquery 库但文件是打包了 jquery + jQueryTools 后的 js 文件;
将上面的代码加入当前主题目录下的 functions.php 中即可在模板中使用 jQueryTools 提供的方法了,如果不需要在 WordPress 后台页面也出现 jQueryTools 的话可以在外面使用 !is_admin() 作为条件判断即可。
后面覆写 jQuery 句柄的方法也可以用来在 WordPress 主题中禁用 jQuery 反注册后不使用 enqueue_script 即可;也可以用于替换 WordPress 默认的 jQuery 版本,如果当前 WP 附带的 1.3.2 版本并不适合你的主题,你可以使用上面的方法替换成低版本的 jQuery 库或者替换成你的 CDN 地址也是可行的(如使用 GoogleAPI 提供的地址:http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 等等)。
其中 wp_enqueue_script() 的函数格式可访问 http://codex.wordpress.org/ 查询或参考下面:
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
$handle:句柄,所引入 JavaScript 的唯一命名;
$src:地址,所引入的 JavaScript 的地址;
$deps:依赖,所引入 JavaScript 的依赖情况,数组格式如上面的 array(‘jquery’) 字串;
$ver:版本,所引入 JavaScript 的版本;
$in_footer:页脚输出,这是 2.8.x 新加入的一个参数用于在页脚 wp_footer() 位置输出;
以上的参数除 handle 以外均为可选,另外覆写 jquery 句柄的时候注意版本号最好和当前 WordPress 版本号一致。