我已经使用Slick Carousel了一段时间,正在做基本的滑块。但是,我遇到了一个无法解决的问题!
当我尝试加载所需的文件时,无法使用平滑功能。首先,我按照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>
标记上方手动加载它们时又能工作吗?
答案 0 :(得分:0)
花了更多时间玩代码之后,我终于找到了解决方案,这很烦人,但很简单。
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);