正确加载jQuery和jQuery插件脚本文件

时间:2014-01-20 作者:ashraf

我正在使用ticker jQuery插件,无法正确加载脚本文件。如果我将脚本直接添加到主题的header.php 文件我的脚本工作正常
示例:

<script src="<?php bloginfo(\'template_directory\'); ?>/js/jquery-ticker.js"></script>
<script src="<?php bloginfo(\'template_directory\'); ?>/js/site.js"></script>
如果我试图从WordPress插件加载脚本,我会收到一个错误。插件代码:

function bbc_frontend_script() {
wp_enqueue_script(\'jquery\');
wp_enqueue_script(\'ticker\', plugins_url("/js/jquery-ticker.js", __FILE__));
wp_enqueue_script(\'js\', plugins_url("/js/site.js", __FILE__));
}
add_action( \'wp_enqueue_scripts\', \'bbc_frontend_script\' );
我收到的错误是控制台输出site.js

Uncaught Reference error:Jquery is not defined .
你能帮我理解为什么从WordPress插件加载脚本时出现控制台错误吗?

3 个回复
SO网友:Rachel Baker

添加jquery 脚本作为jquery-ticker.jssite.js 中的文件wp_enqueue_script 作用

示例:

function bbc_frontend_script() {
wp_enqueue_script(\'ticker\', plugins_url("/js/jquery-ticker.js", __FILE__), array( \'jquery\' ) );
wp_enqueue_script(\'sitejs\', plugins_url("/js/site.js", __FILE__), array( \'jquery\', \'ticker\' ) );
}
add_action( \'wp_enqueue_scripts\', \'bbc_frontend_script\' );
你也不必排队jquery 如果将其定义为依赖项,则将其单独设置。

Edited:添加缺少) 在排队语句的末尾。

SO网友:Otto

检查您的示例。您使用的是plugins\\u url,但在另一个示例中,您说它们位于模板目录中。

这些js文件实际位于哪里?

SO网友:Gareth Gillman

您需要注册脚本,但也需要将它们定义到jQuery库中,例如。

  wp_register_script(\'ticker\', plugins_url("/js/jquery-ticker.js", array(\'jquery\'), \'1.3\', true );
  wp_enqueue_script(\'ticker\');
数组在jQuery加载后注册它,真正的方法是将其设置为在wp\\u footer而不是wp\\u head中注册

结束

相关推荐

如何使用jQuery为WordPress拖拽后获取Widget ID?

我创建了带有选择选项图像的自定义小部件,但第一次选择选项图像在保存后并没有显示,此功能工作正常,我只需要在侧边栏中拖动后加载此功能,然后加载功能?jQuery(document).ready(function() { jQuery(\'body\').on(\'change\', \'.selector\', change_image); function change_image(){ var $path = jQuery(this).f