刚刚添加WP Pro Quiz并在本地添加了一个测验来测试它。当我点击按钮加载测验时,它根本没有加载,我收到以下错误:
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>
从第371行的文件WpProQuiz_View_FrontQuiz.php加载:
<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问题,我决定在这里寻求帮助。知道如何解决这个问题吗?
更新
尝试了一些jQuery无冲突选项,如here,但还没有运气。即使使用no.Conflict和/或使用其他变量,错误也不会消失。
答案 0 :(得分: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>
答案 1 :(得分: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();
?>
我认为我所使用的基本主题已经完成,但我错了。傻我。 Al现在好!