2013-02-13 59 views
0

刚刚添加了WP Pro Quiz,并在本地添加了一个测验来测试它。当我按下按钮加载测验它不是在所有的加载,我得到了以下错误:使用WP专业版的jQu​​ery错误测验

Uncaught TypeError: Object [object Object] has no method 'wpProQuizFront' 

是jQuery的错误所在位于后加载的脚本是:

<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $('#wpProQuiz_1').wpProQuizFront({ 
Uncaught TypeError: Object [object Object] has no method 'wpProQuizFront' 
     quizId: 1, 
     mode: 0, 
     globalPoints: 1, 
     timelimit: 0, 
     resultsGrade: [0], 
     bo: 0, 
     json: {"1":{"type":"cloze_answer","id":1,"points":1,"correct":[]}} }); 
}); 
</script> 

它从文件加载WpProQuiz_View_FrontQuiz.php在线371:

<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $('#wpProQuiz_<?php echo $this->quiz->getId(); ?>').wpProQuizFront({ 
     quizId: <?php echo (int)$this->quiz->getId(); ?>, 
     mode: <?php echo (int)$mode; ?>, 
     globalPoints: <?php echo (int)$globalPoints; ?>, 
     timelimit: <?php echo (int)$this->quiz->getTimeLimit(); ?>, 
     resultsGrade: <?php echo $resultsProzent; ?>, 
     bo: <?php echo $bo ?>, 
     json: <?php echo json_encode($json); ?> 
    }); 
}); 
</script> 

。加载测验的页面的HTML源代码可以在这里看到:http://pastebin.com/xZVCTxyE对我来说,看起来代码是好的,并且$编码正确地运行,但显然有些东西是关闭的。

我在WordPress' Forum打开了一个问题,但没有答案,因为这似乎是一个脚本错误,而不是一个特定的WP问题,我决定在这里寻求帮助。任何想法如何我可以解决这个问题?

更新

试过像here几个jQuery的无冲突的选项,但没有运气,但仍。即使没有.Conflict和或使用另一个变量,错误也不会消失。

回答

3

的问题是,我没有在我的footer.php的footer call这是正在使用的插件加载JavaScript页脚。我现在添加了这个片段:

<?php 
    /* Always have wp_footer() just before the closing </body> 
    * tag of your theme, or you will break many plugins, which 
    * generally use this hook to reference JavaScript files. 
    */ 
    wp_footer(); 
?> 

认为我所使用的基本主题是完整的,但我错了。傻我。现在好了!

4

我有同样的问题。将$更改为jQuery。

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
     jQuery('#wpProQuiz_<?php echo $this->quiz->getId(); ?>').wpProQuizFront({ 
      quizId: <?php echo (int)$this->quiz->getId(); ?>, 
      mode: <?php echo (int)$mode; ?>, 
      globalPoints: <?php echo (int)$globalPoints; ?>, 
      timelimit: <?php echo (int)$this->quiz->getTimeLimit(); ?>, 
      resultsGrade: <?php echo $resultsProzent; ?>, 
      bo: <?php echo $bo ?>, 
      json: <?php echo json_encode($json); ?> 
     }); 
    }); 
</script> 
+0

然后我得到一个类似的错误: '类型错误:jQuery的(...)wpProQuizFront不是一个函数 HTTP://wordpress.local/quiz-test/ 线220' – rhand 2013-03-16 10:47:59

+0

为我工作,即使我已经有了wp_footer()。 – 2013-07-21 09:37:34

+0

文件路径是:“/wp-content/plugins/wp-pro-quiz/lib/view/WpProQuiz_View_FrontQuiz.php”,它必须在2个部分中进行更改,不仅一个 – aemad 2015-10-10 00:46:48