Javascript WordPress排队noConflict()错误$不是函数吗?
作为WP开发人员已经8年了,这个问题从未消失过,它让我发疯Javascript WordPress排队noConflict()错误$不是函数吗?,javascript,php,jquery,wordpress,zurb-foundation-5,Javascript,Php,Jquery,Wordpress,Zurb Foundation 5,作为WP开发人员已经8年了,这个问题从未消失过,它让我发疯$不是函数始终显示,或者jQuery不是函数,或者foundation不是函数。。。有人帮我一劳永逸地把它扼杀在萌芽状态吗 My enqueue.php: // initialize packages ... function source_enqueue() { // init $wp_styles variable // adds conditional wrapper around ie stylesheet
$不是函数
始终显示,或者jQuery不是函数,或者foundation不是函数
。。。有人帮我一劳永逸地把它扼杀在萌芽状态吗
My enqueue.php:
// initialize packages ...
function source_enqueue() {
// init $wp_styles variable
// adds conditional wrapper around ie stylesheet
global $wp_styles;
if (!is_admin()) {
// jquery, bower, foundation, app js, style, app css
// init jquery ...
wp_enqueue_script( 'jquery' );
// init foundation
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(js/foundation.min.js+js/vendor/fastclick.js+js/vendor/jquery.cookie.js+js/vendor/jquery.js+js/vendor/modernizr.js+js/vendor/placeholder.js),camanjs@4.1.2', array(), '2.1.3', true );
// init normalize
wp_enqueue_style( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(css/normalize.css),fontawesome@4.4.0,animatecss@3.4.0', array(), '', 'all' );
// init app.min.js
wp_enqueue_script( 'app', get_template_directory_uri() . '/assets/dist/app.min.js', array( 'jquery' ), '', true );
// init app.min.css
wp_enqueue_style( 'app', get_template_directory_uri() . '/assets/dist/app.min.css', array(), '', 'all' );
// init style.css
wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css', array(), '', 'all' );
// init comment reply ...
if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) {
wp_enqueue_script( 'comment-reply' );
}
}
}
// init source_enqueue() ...
// - - - - - - - - - - - - - - - - -
add_action( 'init', 'source_enqueue' , 999 );
我的app.js:
$.noConflict();
$(document).foundation();
我尝试过将其包装成不同的功能,但没有效果:
jQuery(document).ready(function(){
jQuery(document).foundation();
});
或:
什么都不管用。错误仍然存在:$不是函数
在我发疯把我漂亮的桌面扔进伐木机之前,有人帮我一劳永逸地解决这个问题吗?“在页面顶部包含”标准jquery url…为什么要搜索“jquery”。jQuery总是由Wordpress排队 删除
wp\u enqueue\u脚本('jquery')代码>
在你的js文件中
jQuery(document).ready(function($){
//then $ works
// your code
});
只需添加jQuery.js或jQuery min library并尝试以下操作:
$k = jQuery.noConflict();
$k(document).ready(function(){
//then $ works
// your code
});
经过多年的挖掘、测试和试验,我找到了答案。我决定做最后一次尝试,结果成功了。没有错误,控制台注册基础。对于所有那些挣扎过的人来说,这是让你的队列基础脚本工作正常的代码。我甚至会提供CDN
我需要两天才能接受自己的答案
enqueue.php/functions.php,但是您需要函数:
// enqueue.php or functions.php
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.3(js/foundation.min.js+js/vendor/jquery.js+js/vendor/modernizr.js),scrollreveal.js@0.1.2', array(), '', true );
app.js:
// app.js
$ = jQuery.noConflict( true );
(function( $ ) {
$(document).foundation();
// other code here ...
})(jQuery);
jquery.min.js(或等效文件)是否在脚本加载之前加载?从技术上讲,jquery加载后,CDN将一次加载并通过jquery v2.1.3解析。它不应该影响它,如果我单独加载它们(就像我多年来那样),问题仍然存在。直到现在我都忽略了它。技术上。。。你检查过了吗?(通过显影控制台)是。错误仍然存在。是否在cdn内容之后加载了另一个类似于库的原型?我以前已经通过enqueue对其进行了cdn,但我没有在标题中添加链接src=“jquery”
。我将正确地将其排队,但即使如此,我仍然不确定为什么错误仍然存在。再一次,jQuery是通过WP核心在第一个队列中加载的代码>在他的<代码>队列中。PHP<代码> <代码> n(…)。基金会不是函数仍然抛出错误。代码>jQuery(document).ready(函数($){$(document.foundation();})
我认为您不需要$=jQuery.noConflict(true)代码>零件。至少我从未使用过它——我只使用了代码的另一部分——我用$parameter创建了一个匿名函数,然后用jQuery调用它。这将$
定义为函数范围内jQuery
的变量(因此我将所有代码都放在该函数中)。试试看,让我知道它是否有效(应该:))。
// app.js
$ = jQuery.noConflict( true );
(function( $ ) {
$(document).foundation();
// other code here ...
})(jQuery);