2

我正在尝试将一个带有 JQuery 滑块插件的 Wordpress 站点放在一起,但该插件未显示在页面上,并且我总是收到上述错误消息。

尽管尝试了其他帖子中建议的几种不同修复方法,但我似乎仍然无法修复上述错误,包括将脚本标记放在“header.php”文件中。任何帮助将不胜感激 - 谢谢!

“footer.php”文件中的相关代码

    <!--Load JQuery-->  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>


</body> 
</html>

网站:http://www.advanceprojects.com.au/

4

5 回答 5

6

脚本始终按顺序运行。

所以基本上你甚至在加载 jQuery 库之前就尝试使用 jQuery。

您的脚本依赖于 Nivo,而后者又依赖于 jQuery 库。

加载库后将脚本移至行,或将库声明移至头部。

还要确保将脚本包含在DOM Ready处理程序中。

所以你应该加载这些的顺序是

-- jQuery 
  -- Nivo Slider
  -- your script that uses the above 2 libraries.
于 2013-07-02T06:55:59.697 回答
3

这对我有用。

添加行

wp_enqueue_script('jquery');

发生此错误是因为未包含 jquery,应在加载任何其他脚本之前包含该错误。这是一个例子:

firstplugin.php

<?php
/*
Plugin Name: Plugintrial
Description:  plugin to test jquery
Version:      1
Author:       Dismi Paul
*/
function childtheme_custom_login() {
wp_enqueue_script('jquery');

wp_enqueue_script('my-custom-script', plugins_url('/test.js', __FILE__));
?>

    <h1>Welcome to My Homepage</h1>

<p id="intro">My name is Donald.</p>
<p>I live in Duckburg.<?php echo plugins_url('/test.js', __FILE__); ?></p>

    <?php
}

add_action('login_head', 'childtheme_custom_login');

测试.js

jQuery(document).ready(function()
{
  jQuery("#intro").css("background-color", "yellow");
});
console.log("it works");
于 2019-01-17T11:03:09.640 回答
2

请参阅链接如何添加 css 和 Js 文件

http://codex.wordpress.org/Function_Reference/wp_enqueue_script

可能在 JQuery 之前,您的 Js 文件已加载。

所以在加载 Jquery 文件后添加 js 文件

例子

wp_enqueue_script("yourjs","yourjspath",array('jquery'), true);
于 2015-01-09T10:18:24.417 回答
2

在最新版本的 Wordpress 中,这可能是由核心性能改进引起的:

试着把它放在你的 wp.config 文件中:

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

define('CONCATENATE_SCRIPTS', false);
于 2016-02-11T05:37:16.920 回答
0

利用

jQuery(document).ready(function(){
    jQuery('#wpns_slider').nivoSlider({effect:'random',slices:2,});
});

代替

jQuery(window).load(function(){
     jQuery('#wpns_slider').nivoSlider({effect:'random',slices:2,});
});

$(window).load(function() {... })显式绑定到窗口的加载事件,您的代码在加载库之前已经触发jQuery。你必须使用DOM Ready处理程序。

于 2013-07-02T06:55:55.143 回答