【问题标题】:Script won't load in wordpress footer脚本不会在 wordpress 页脚中加载
【发布时间】:2018-04-02 10:25:03
【问题描述】:

我正在尝试做一些应该非常简单的事情,但一直困扰着我。 我在functions.php中有以下代码:

// Load HTML5 Blank conditional scripts
function html5blank_conditional_scripts(){
    if (!is_single()) {
      wp_register_script('imagesloaded', get_template_directory_uri() . '/js/lib/imagesloaded.pkgd.min.js', true); // Conditional script(s)
      wp_enqueue_script('imagesloaded'); // Enqueue it!

      wp_register_script('masonry', get_template_directory_uri() . '/js/lib/masonry.pkgd.min.js', true); // Conditional script(s)
      wp_enqueue_script('masonry'); // Enqueue it!

      wp_register_script('soinit', get_template_directory_uri() . '/js/soinit.js', true); // Conditional script(s)
      wp_enqueue_script('soinit'); // Enqueue it!
    }

}
add_action('wp_enqueue_scripts', 'html5blank_conditional_scripts'); // Add Conditional Page Scripts

这里的主要问题是:'imagesloaded' 和 'masonry' 脚本成功添加到页脚,而 'soinit' 脚本不断添加到头部

【问题讨论】:

  • 因为是init脚本?
  • @FlashThunder 我可以随意调用它,结果相同。

标签: javascript php wordpress


【解决方案1】:

功能是:

wp_register_script( string $handle, string $src, array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

所以你需要提供所有参数,即使它们是空的

wp_register_script( 'soinit', get_stylesheet_directory_uri() . '/js/soinit.js', '', '',  true);

【讨论】:

  • 我不明白为什么要覆盖默认值,但它确实有效,谢谢。
  • 您没有覆盖默认值,该函数会影响每个参数在其特定位置,如果您将true 作为第三个参数传递,则该函数假定您正在传递$deps = true,这是一个错误.. .
猜你喜欢
  • 2011-08-09
  • 2019-02-03
  • 1970-01-01
  • 2023-04-04
  • 2018-07-20
  • 2014-01-22
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多