我已将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,但我想将所有内容保存在子主题目录中。
有人可以帮帮我吗?非常感谢!
答案 0 :(得分:2)
这里几件事:
首先,始终为您的操作添加优先级。这可以防止您的脚本稍后被其他脚本覆盖。将您的优先级设置得非常低,以便您的脚本最后加载,例如9999
add_action( 'wp_enqueue_scripts', 'creationsphere_enqueue_scripts', 9999);
您无需检查后端或前端。 wp_enqueue_scripts
仅适用于前端。后端脚本使用admin_enqueue_scripts
挂钩为后端加载脚本和样式
对于小块的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);