2013-02-13 62 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