wp_head() 应用之 更新 删除自带 jQuery版本

升级了 WordPress 3.2 之后,主题有些许不兼容了,表现在我的 lazyload 插件不能用了,还有我的返回顶部插件,我的 ajax 评论插件也不能用了,怎么办呢,找问题呗,然后就发现是新版本的 WordPress 使用的 jQuery 库为 1.6.1 版本,和我某些插件的 1.4.2 版本不兼容,OK,问题找到了,那就解决问题。
其实很简单,就是一句代码,在你博客主题文件中的 function.php 文件中,添加一段代码即可。

<?php wp_deregister_script(‘jquery’);?>

作用就是反注册 jQuery 这个 js 库。从而使 WP 不加载 jQuery 这个库。所以 WP 就不加载 1.6.1 版本的这个 jQuery 库了,但是要手动在主题的 header.php 中引用兼容版本的 jQuery 库。

其实,还有一个重要的问题,就是 使用了这个代码之后,WP 后台很多需要 jQuery 的功能都不正常了,那就没办法了,不使用这个代码了。但是去掉之后,如果 jQuery 没有回去,那就用另外一句代码让它回去。

<?php wp_register_script(‘jquery’); >

嘿嘿嘿,重新注册。OK。
其实,还有一种方式可以解决 js 的冲突,那就是使用

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); >

函数。具体介绍请移步这里查看。
具体方法就是在你的主题文件的 function.php 里面,添加

<?php
function my_init_method() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}    
add_action('init', 'my_init_method');
?>

然后将,里面的 js 的地址,换成你想使用的地址即可。当然了,那个 jquery 关键字,也是要替换的。

不过貌似后台必须使用1.6.1才可以,唉,我的lazyload要割爱了啊。

打完收工。

评论

  1. 10年前
    2011-7-15 16:07:40

    直接加载http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js不就行。。

  2. 一米 博主
    10年前
    2011-7-17 22:03:04

    @仰肖
    但是 WordPress 自带 jQuery 了。

  3. 10年前
    2011-10-18 17:04:22

    嗯 现在一般程序都自带了jQuery了
    ps:
    博主是技术性人才啊!
    现在想看点这种文章不容易!果断收藏!

  4. 一米 博主
    10年前
    2011-11-11 15:47:49

    @阿清
    过奖了。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇