我正在运行一个 WordPress 网站,其主页上有一个 Nivoslider。我必须使用另一个插件,因此为了使其工作,我需要将 jquery 包含在 header.php 文件中的“head”标签内。现在,当我将 jquery 文件包含在 <?php wp_head(); ?>
下时时,Nivo slider 无法工作并卡在加载屏幕上。我尝试在互联网上搜索这个问题,并尝试了一个解决方案,我在上面添加了以下代码 <?php wp_head(); ?>
:
<?php
wp_deregister_script('jquery'); // Remove the default jQuery script
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false); // Register the Google hosted Version
wp_enqueue_script('jquery'); // Enqueue the Google Hosted version
?>
添加上面的代码后 <?php wp_head(); ?>
, slider 的第一张幻灯片现在才出现,我无法通过单击下一张/上一张按钮在幻灯片之间切换。另外,当我删除代码 <?php wp_head(); ?>
时从 header.php 文件中添加 jquery 文件,我的其他插件开始正常工作,但 slider 停止工作。我认为 jquery 被加载了两次,这导致了冲突,但我似乎无法找到问题是从哪里产生的。这是我运行 Nivoslider 和其他插件的网站:http://ignoremusic.com/
最佳答案
JS 控制台中出现错误:
Uncaught TypeError: Property '$' of object [object Object] is not a function
在 WordPress 中,您可能会遇到嵌入的 jquery 版本的一些问题。 而不是使用:
$('#div').hide()
试试这个:
jQuery('#div').hide()
或者您可以使用 JQuery.noConflict()
http://api.jquery.com/jQuery.noConflict/
我个人会将 slider 的 JS 代码嵌入到 noConflict() 函数中。
关于wordpress - nivoSlider 和外部 jquery 之间的 jquery 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775282/