Flexlider不能与WordPress的jQuery|Dependency一起使用

时间:2016-02-16 作者:rflw

当我尝试将Flexslider与“内置”jquery一起使用时,Flexslider将无法工作。当我使用自己的myjquery 文件,它就像什么都没有一样工作
即使wordpress有自己的jquery文件,我也必须始终使用自己的jquery文件吗?

Wordpress(内置)jQuery vPerion:1.11.3所需的Flexbox jQuery版本:1.7+myjquery = jquery版本:1.12.0/ul>摘要:flexbox应与WordPress的jquery配合使用。

当我使用Wordpress的jQuery时,Flexslider无法工作。当我添加自己的myjquery.js 这是jquery 1.12.0,当我退出原始jquery时wp_dequeue_script(\'jquery\');.
对于我的Flexslider和custom,WordPress的jQuery似乎不可见。js文件。

错误:
当我用WordPress和它自己的jQuery运行站点时,有一个错误:
$ is not a function 文件:“自定义”。js:2:1“什么意思是找不到jquery,但它包含在标题中(我已经检查过了)。我的结论是依赖性array(\'jquery\') 不起作用。我试着用wp_register_script(\'flexbox\', ...) 具有不同的功能(即使没有依赖项和false、false或true、true等)

当我使用“myjquery”时,没有错误,插件工作正常

“自定义”的内容。js’: $(window).load(function() { $(\'.flexslider\').flexslider({ animation: "slide" }); });

注册并包括样式(&H);脚本(部分functions.php 文件):

wp_register_script( \'bootstrap-js\', get_template_directory_uri() . \'/bootstrap/js/bootstrap.js\' );
wp_register_script( \'myjquery\', get_template_directory_uri() . \'/js/jquery.js\' );
wp_register_script( \'flexslider\', get_template_directory_uri() . \'/js/flexslider.js\', array(\'jquery\'), false, true );
wp_register_script( \'custom-js\', get_template_directory_uri() . \'/js/custom.js\', array(\'flexslider\'), false, true );

// Enqueue :: styles & scripts
function mytheme_enqueue_items() {
  wp_enqueue_style( \'my-main-css\' );
  wp_enqueue_style( \'bootstrap-css\' );
  wp_enqueue_style( \'bootstrap-responsive\' );
  wp_enqueue_style( \'flexslider-css\' );

  // wp_enqueue_script( \'**myjquery**\' ); // **flexslider works correctly when uncommented**
  wp_enqueue_script( \'bootstrap-js\' );
  wp_enqueue_script( \'flexslider\' );
  wp_enqueue_script( \'custom-js\' );
}
add_action( \'wp_enqueue_scripts\', \'mytheme_enqueue_items\' );

2 个回复
最合适的回答,由SO网友:rflw 整理而成

问题是jquery冲突(错误$ is not a function).
所有自定义脚本应以无冲突模式运行<我用过jQuery(...) 而不是$().

SO网友:Megan Rose

首先,您应该在将脚本排入队列的同一个函数中注册脚本。

您的评论flexslider works correctly when uncommented 表明您可能只是错过了这一点:

wp_enqueue_script( \'jquery\' );

尽管jQuery是“内置的”,但仍然需要使用句柄将脚本排队。基本上,WordPress包含这些文件,并且wp_register_script 部分,但您仍然需要将其排队,这会告诉WordPress您要加载它。

Edit:

抱歉,我刚刚注意到您在wp_register_script. 所以你不需要像我上面建议的那样排队。

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">