为什么要将JavaScript作为应用程序/oemed添加到Header中?

时间:2017-06-14 作者:davemackey

我创建了一个简短的JavaScript文件,并将其放置在我的主题的JS文件夹中,该文件的内容如下:

/**
 * Text2Give Functions File
 *
 * Mobile Landing Page Functions File
 */

jQuery( function( $ ) {
  "use strict";

  // bind change event to select
  $(\'#text2give\').on(\'change\', function () {
      var url = $(this).val();
      if (url) {
          window.location = url; // redirect
      }
      return false;
  } )
} );
我已经添加了它,以便与我函数中的所有其他JS脚本一起排队。php文件如下:

    // Add script for landing page for text2give
if ( is_page( \'text2give\') ) {
    wp_enqueue_script( \'text2give\', get_template_directory_uri() . \'/js/text2give.js\', array( \'jquery\' ), \'20170614\', true  );
}
当我加载上述引用的页面时,以及当我查看源代码时,它不起作用,我会看到以下内容:

<link rel="alternate" type="application/json+oembed" href="https://liquidchurch.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fliquidchurch.com%2Ftext2give%2F"/>
<link rel="alternate" type="text/xml+oembed" href="https://liquidchurch.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fliquidchurch.com%2Ftext2give%2F&#038;format=xml"/>
所有其他脚本如下所示:

<script type=\'text/javascript\' src=\'https://liquidchurch.com/wp-includes/js/jquery/jquery.js?ver=1.12.4\'></script>

你知道为什么会这样吗?谢谢

1 个回复
最合适的回答,由SO网友:birgire 整理而成

发现链接标签由core在中添加wp_oembed_add_discovery_links() 自版本4.4起。查看变更集here.

当我们将脚本排入页脚时,我们必须确保wp_footer() 未丢失。

这里排队的脚本中有一个输入错误,因为HTML select标记id="txt2give" 但不是id="text2give".

结束