Slick Carousel 无法在 WordPress 中正常运行

Slick Carousel not functioning correctly with WordPress

我使用 Slick Carousel 已经有一段时间了,做基本的滑块。但是,我 运行 遇到了一个我无法解决的问题!

当我尝试加载所需的文件时,slick 不起作用。首先,我按照 Slick 的 Get Started 指南中所述加载了所需的文件,并且效果很好。但是,当我使用 WordPress 中的 functions.php 文件实现它时,事情无法正常工作。

我已将其缩小到以这种方式加载以下文件使其工作,但是当我将它们添加到 functions.php 文件时,它停止工作。

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

我的functions.php文件如下:

function files() {
    // Stylesheets
    wp_enqueue_style('main_stylesheet', get_stylesheet_uri(), NULL, microtime());
    wp_enqueue_style('slick_stylesheet', get_theme_file_uri('/slick/slick.css'), array(), NULL, false);
    wp_enqueue_style('slick_theme', get_theme_file_uri('/slick/slick-theme.css'), array('slick_stylesheet'), NULL, false);
    // Javascript
    wp_enqueue_script('jquery');
    wp_enqueue_script('slick_script', 'https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js', array('jquery'), '1.8.1', true);
    wp_enqueue_script('slick_init', get_theme_file_uri('/js/slick-init.js'), array('slick_script'), NULL, true);
}

add_action('wp_enqueue_scripts', 'files');

光滑的滑块已在单独的文件中初始化:slick-init.js

有谁知道为什么当我从 functions.php 文件加载两个 jQuery 脚本文件时这不起作用,但当我将它们加载到 </body> 标记上方时却起作用手动?

经过更多时间研究代码,我终于找到了解决方案,这是一个非常烦人但很简单的解决方案。

其中一个 wp_enqueue_script() 参数要求依赖关系,如 here 所述。经过一段时间的故障排除后,我发现 JQuery 没有在正确的时间加载。因此,如问题所示,我改写了 JQuery,查看依赖项的参数被设置为空数组 (array(''))。我将其更改为 NULL,因为我 运行 没有想法,令人惊讶的是它起作用了!

所以固定的代码行是这样的:

wp_register_script('jquery', 'https://code.jquery.com/jquery-1.11.0.min.js', NULL, '1.11.0', false);