【问题标题】:JavaScript in WordPress not loadingWordPress中的JavaScript未加载
【发布时间】:2015-02-15 14:12:03
【问题描述】:

所以我试图让一个自定义 JavaScript 文件在我的页面上工作,它可以改变我页面上的元素高度(因为它在每个页面上都不同,所以我不必这样做),尽管它不起作用。

我尝试通过 PHP 和 HTML 在 header.phpfunctions.phpfooter.php 甚至在实际页面本身中添加它。

如果第一次加载,不工作,然后当我去设置断点并刷新时,它不加载。

我在主题的 JavaScript 文件夹中有该文件,我用来添加它的方法是:

<script src="<?php echo get_template_directory_uri(); ?>/js/elementHeight.js"></script> (header and footer)

wp_enqueue_script( 'elementHeight', get_template_directory_uri().'/js/elementHeight.js', array( 'jquery' ), '1' ); (functions)

我不知道发生了什么。当我第一次在页面中加载它时,我注意到它实际上提取了文件中的所有内容并将其粘贴到两个缩小的 &lt;script&gt; 标记中,但也粘贴在 CDATA 标记中。

我的脚本没有加载是否有原因和/或我缺少什么?

编辑: 我刚刚注意到脚本被添加到页面中,但链接上附加了.pagespeed.jm.d-4Yn-ag4z.js,这是一个旧的缓存版本,尽管我没有任何缓存插件。 谁能告诉我这是怎么回事?

【问题讨论】:

  • 这不是 Wordpress 的原生行为,我猜你有一个缩小插件可能会破坏它。您是否尝试过禁用插件和/或使用其他浏览器?
  • 我已禁用所有未运行的插件,因此我只有 Akismet、Clef、Jetpack、Insert PHP、Google Analytics、GT3 Page Builder 和 Varnish HTTP Purge。
  • 我刚刚注意到,当它加载时,它会在不应该发生的图像之前加载。
  • 您可以尝试在wp_enqueue_script 上将in footer 参数设置为true,这将在正文之后加载它。您应该尽可能对所有脚本使用排队。见codex.wordpress.org/Function_Reference/wp_enqueue_script
  • 不幸的是,@JeremiahWinsley 并没有改变任何东西。

标签: javascript php wordpress


【解决方案1】:
<script src="<?php echo get_template_directory_uri() . '/js/elementHeight.js'; ?>"></script> 

仅在页眉或页脚中尝试这种方式。

根据get_template_directory_uri() 的格式,您可能希望排除/js/elementHeight.js 中的第一个/

然后是:

<script src="<?php echo get_template_directory_uri() . 'js/elementHeight.js'; ?>"></script>

【讨论】:

  • 我从来没有说过我在这两个中都尝试过......无论如何,它不起作用。见i.imgur.com/LMuS8No.png
【解决方案2】:

我会使用bloginfo('template_directory')

<script src="<?php bloginfo('template_directory'); ?>/js/script.js" type="text/javascript"></script>

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 2014-06-05
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多