我有一个计时器脚本,我已经在functions.php
中使用以下方法加载到Wordpress中function timer_scripts_method() {
wp_enqueue_script(
'custom-script',
get_template_directory_uri() . '/quiz/js/timer.js',
array( 'jquery' )
);
}
add_action( 'wp_enqueue_scripts', 'timer_scripts_method' );
脚本本身以以下行开头和结尾
(function () { [...] }).call(this);
我尝试了以下方法来实现这一目标:
(function ($) { [...] }).call(this);
(function () { [...] }).call(this)(jQuery);
jQuery.noConflict(); (function () { [...] }).call(this);
jQuery.noConflict(); (function () { [...] }).call(this)(jQuery);
可以在这里找到完整的JS代码(美化)http://pastebin.com/X7py7ecb
我得到的控制台错误是
Uncaught Error: [jQuery-runner] jQuery library is required for this plugin to work
我还可以确认其他对jQuery具有依赖性的JS库已经加载了很好。
在JS上表现不佳我觉得这是非常明显的,我不知道。
答案 0 :(得分:1)
正如@cpilko在评论中提到的那样,你需要将jQuery Runner插件排入队列。
你可以这样做;
function timer_scripts_method(){
wp_enqueue_script( 'jquery-runner', get_template_directory_uri() . '/js/jquery-runner.js', array('jquery') );
wp_enqueue_script( 'quiz-timer', get_template_directory_uri() . '/quiz/js/timer.js', array('jquery', 'jquery-runner') );
}
add_action( 'wp_enqueue_scripts', 'timer_scripts_method' );
你不应该再次将jQuery排队,因为这会自动发生。
答案 1 :(得分:0)
在下面的函数文件中更改代码:
function timer_scripts_method() {
wp_enqueue_script('jquery');
wp_enqueue_script(
'custom-script',
get_template_directory_uri() . '/quiz/js/timer.js');
}
add_action( 'wp_enqueue_scripts', 'timer_scripts_method' );