【发布时间】:2014-12-04 02:40:49
【问题描述】:
我通过插件创建了一个短代码,该插件通过插件的 PHP 将一堆 javascript 和 html 添加到页面。
这在二十四主题上效果很好 - 我的插件按预期工作。
当我尝试安装插件并在 OptimizePress 主题中使用我的简码时,它不起作用。
当我尝试它时,会出现控制台错误:
Uncaught ReferenceError: jQuery is not defined
这是在这一行:
jQuery(document).ready(function() { --this line
jQuery('#calendar').fullCalendar({
header: {
left: 'prev,next today',
这是我作为简码的一部分添加到页面的 javascript 的一部分。
有趣的是,当我查看页面的源代码时,肯定加载了 jQuery。但是,由于某种原因,当我在此主题中使用此短代码时,它已将我的 javascript 作为插件的一部分回显到 中,如下图所示(我的代码位于突出显示的脚本标签内)- 而 jQuery 直到页面末尾才加载 - 这可能是我们在未定义 jQuery 时遇到此错误的原因。
当在 241 主题中使用短代码时,我的 javascript 输出作为插件的一部分包含在正文中,如页面的这张图片(脚本标签)所示 - 这意味着它可以找到 jQuery,因为它会加载:
在 OptimizePress 中使用简码帮助解决此错误或解决此问题的任何其他解决方案时,任何人都可以建议为什么会发生这种情况以及如何使我的 javascript 内联而不是在我的文档中。
【问题讨论】:
-
如何添加脚本?如果您使用 wp_enqueue_script() 添加它,那么您可以添加依赖项(如 jquery)它应该会给您一些反馈,如果您将代码放在页脚而不是页眉中会发生什么(仅用于测试)?
-
我不挑放哪里了....好像是主题选的?它是使用 wp_enqueue_script 添加到 functions.php 中的
-
这非常有用,谢谢亚历克斯。现在我已经删除了 jQuery 错误 - 但不幸的是,脚本依赖于我通过 php echo 语句设置的 php 参数。当它在functions.php中时,它无法访问我在原始插件文件中设置的参数吗?有什么想法可以解决这个问题吗?
-
需要代码示例可能您可以创建一个新问题?
标签: javascript jquery wordpress wordpress-theming