Uncaught TypeError: jQuery(...).fancybox is not a function |fancybox used in wordpress

Uncaught TypeError: jQuery(...).fancybox is not a function |fancybox used in wordpress

我有一个 wordpress 网站,我想用 fancybox 显示我的视频,所以我尝试了像 "fancybox for wordpress" 和 "easy fancybox" 这样的 wp 插件。

但他们都给我错误信息"Uncaught TypeError: jQuery(...).fancybox is not a function"。

我在这里搜索了很多问题,发现这可能是 jquery 冲突,但我不知道它在哪里。 这是我的网站 http://skyblueenglish.co.uk

请注意,我一次只有上述插件之一。

根据我的想法,在我检查之前,发生的事情是, 在 word-press 中,你已经包含了 fancybox jQuery 并且当你安装插件时它显然会安装。现在发生的事情是,在使用某些 JS 函数或 JS Class 时,必须在我们 use/include 第三方 JS 之前包含 jQuery 文件。

我检查了您页面的 "View Source"。

<script src="http://skyblueenglish.co.uk/wp-content/themes/skybluetheme/js/jquery.min.js"></script>

我发现上面的 JavaScript 文件包含在页脚中。 我刚刚删除了那行并将其放在

之前
<script type='text/javascript' src='http://skyblueenglish.co.uk/wp-content/plugins/fancybox-for-wordpress/fancybox/jquery.fancybox.js?ver=1.3.4'></script>

错误消失了。

所以你要做的是,你必须找到你的页脚,找到包含的 jquery.min.js 。从页脚中删除它并将其包含在页眉中。

如果您有任何不明白的地方,请告诉我。

;( function( $ ) {

 $(document).ready(function(){

    $(".fancybox").fancybox({
       //....
    });

});

} )( jQuery );

我对同一主题做了很多实验,还根据我在互联网上发现的类似主题尝试了很多不同的方法来解决问题,但请相信我,对我来说没有任何效果,最后我只是想看看究竟是什么错误说:

Uncaught TypeError: $(...).fancybox is not a function

为此我只是删除了一行 if($.fn.fancybox!==null)。 我不够强大,无法理解 Javascript 或 Jquery 更新鲜的东西,所以我只是尝试使用简单的逻辑,它对我有用哈哈。 这可能不是正确的解决方案,但只是想分享我的经验,所以也许对某些人来说它也可能有用。

通过删除以下代码,它可以正常工作而不会失去任何功能

if($.fn.fancybox!==null)
{$("a[class^='fancyBox']").fancybox();
$("a[class^='fancybox-thumb']").fancybox(
{helpers:{title:{type:'outside'},thumbs:{width:50,height:50}}});}

谢谢!