【问题标题】:Wordpress jQuery is not found when using specific theme使用特定主题时找不到 Wordpress jQuery
【发布时间】: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


【解决方案1】:

答案是在我的插件 php 中使用 add_script 并将脚本添加到 wp_footer!非常感谢 alex alex 的支持。我必须在我的 php 插件中使用全局关键字来访问在新创建的 php 函数范围之外为 add_script 调用定义的变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 2011-12-11
    • 2016-07-14
    • 2014-06-13
    相关资源
    最近更新 更多