【问题标题】:Differences with WordPress function.php and footer custom linking?与 WordPress function.php 和页脚自定义链接的区别?
【发布时间】:2019-08-01 09:21:33
【问题描述】:

在 WordPress 中使用 function.php 插入自定义 JavaScript 代码并在 html 中的 footer 中插入自定义脚本的另一种方法?

有区别,我不知道为什么?

实际上,问题与 WordPress 自定义主题中的 init Slick Slider Carousel 有关。

WordPress 版本 5.5.2

第一种方式,从function.php插入自定义脚本,但是与Slick Carousel相关的部分(在自定义js中)没有启动,而自定义js中的所有其他部分都可以正常工作,没有问题和错误.

包含 jQuery 和 Slick Carousel CDN

wp_enqueue_script( 'custom-jquery', 'https://code.jquery.com/jquery-3.4.1.min.js');
wp_enqueue_script( 'slick-slider', 'https://unpkg.com/slick-carousel@1.8.1/slick/slick.min.js' );

尝试从 function.php 中包含自定义 js

wp_enqueue_script( 'custom-js', get_template_directory_uri(). '/js/main.js');

Slick Carousel 不起作用?

以另一种方式,我在上面注释了脚本部分,并将 footer.php 中的代码替换为经典脚本:

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

Slick 可以完美运行,其他部分也可以。再次没有错误。

在这两种情况下都没有错误和警告。

【问题讨论】:

  • 也许 wp_enqueue_script() 在页面的不同位置插入 JS。比较这两种情况下的页面来源,看看有什么不同。
  • @MilanG,我在这个自定义js上面多了一个小自定义,它们的链接方式都是一样的,第一个没有问题,第二个只有Slick carousel。

标签: javascript php wordpress slick.js


【解决方案1】:

自定义 JavaScript,在哪里启动 Slick Carousel 必须在 WordPress 页面的页脚中调用。 在这种情况下,请在 wp_enqueue_script 中使用 true 参数:

wp_enqueue_script( 'custom-js', get_template_directory_uri(). 'your-custom-js','','',true);

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

Read more about wp_enqueue_script here.

【讨论】:

    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多