Three主题安装WP Super Cache缓存插件的时候,网站底部的随机推荐滚动条在文章页/页面无法滚动,经检查发现这些页面加载了两次jquery文件,其中一个是加载Three主题的,另一个是在家WordPress默认的,最终结果就是导致Jquery冲突。幸好在知更鸟那里找到这篇《禁止加载WordPress自带jquery库》文章帮我解决了问题。
以下是原文:
WordPress主题和插件都会加载不同的JQ库,包括加载Wordpress自带jquery库,从而不可避免地会产生一些冲突,并造成重复加载影响页面加载速度,利用下面的代码可以禁止加载Wordpress自带j的query库,避免JS冲突。
方法一:
- //禁止加载默认jq库
- function my_enqueue_scripts() {
- wp_deregister_script(‘jquery’);
- }
- add_action( ‘wp_enqueue_scripts’, ‘my_enqueue_scripts’, 1 );
方法二:
- //禁止加载默认jq库
- if ( !is_admin() ) { // 后台不禁止
- function my_init_method() {
- wp_deregister_script( ‘jquery’ ); // 取消原有的 jquery 定义
- }
- add_action(‘init’, ‘my_init_method’);
- }
- wp_deregister_script( ‘l10n’ );
将上面其中一种方法的代码添加到当前主题的functions模板文件最后一个“?>”上面即可解决WordPress的JS冲突问题。
PS:本站亲自测试,使用方法一解决了WordPress的JS冲突问题,从而让网站底部的随机推荐滚动条在文章页/页面也能正常滚动了。其他使用Three主题的,可以参照此文自行解决。
特别提示:有网友提出这个代码有缺点。WP自带了JQuery的主库和一些辅库。这个代码会禁用所有wp-includes目录内跟JQuery相关的所有js文件,造成部分插件不能工作。
PS:本站使用一段时间后,感觉那个统计文章的插件不起作用了,怎么刷新都不变,删除这个代码却正常,看来还是有影响的。我已经删除了。