我已将 skrollr 脚本添加到 WordPress 站点。我相信它已正确完成,并且脚本已正确加载/显示在检查器中。这是代码...
function creationsphere_enqueue_scripts() {
if (!is_admin()){
wp_enqueue_script( 'skrollr_js', get_stylesheet_directory_uri() . '/js/skrollr.min.js', array(), NULL, true);
}
}
add_action( 'wp_enqueue_scripts', 'creationsphere_enqueue_scripts');
我正在使用购买的 WordPress 主题,因此我想保留自己的脚本和对子主题的更改。因此,我将脚本放在子主题内的“js”文件夹中,并且 get_stylesheet_directory_uri() 指向子主题。
所以这一切都有效,但是根据我一直在关注的帮助,我现在需要调用脚本(初始化它)。代码是...
// Init Skrollr
var s = skrollr.init({
forceHeight: false
});
问题是它没有解释把它放在哪里,我不知道在哪里?我相信它说将其添加到另一个 .js 文件,如 main.js,但我想将所有内容保留在子主题目录中。
有人可以帮我解决这个问题吗?非常感谢!
最佳答案
这里有一些事情:
首先,始终优先考虑您的行动。这可以防止您的脚本稍后被其他脚本覆盖。将优先级设置得很低,以便您的脚本最后加载,例如
9999
add_action( 'wp_enqueue_scripts', 'creationsphere_enqueue_scripts', 9999);
您不需要检查后端或前端。
wp_enqueue_scripts
只适用于前端。后端脚本使用admin_enqueue_scripts
用于加载后端脚本和样式的钩子(Hook)对于一小段 js,在子主题的 js 文件夹中创建一个 js 文件,并将其命名为您喜欢的名称。将该代码添加到其中并保存。您现在可以正常地将其入队
完成所有这些之后,您的代码应该如下所示
function creationsphere_enqueue_scripts() {
wp_enqueue_script( 'skrollr_js', get_stylesheet_directory_uri() . '/js/skrollr.min.js', array(), NULL, true);
wp_enqueue_script( 'NAME FOR HANDLE', get_stylesheet_directory_uri() . '/js/NAME OF JS FILE', array(), NULL, true);
}
add_action( 'wp_enqueue_scripts', 'creationsphere_enqueue_scripts', 9999);
关于wordpress - wp_enqueue_script 正确完成,现在如何初始化/调用脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25099376/