wordpress - wp_enqueue_script 正确完成,现在如何初始化/调用脚本?

标签 wordpress skrollr

我已将 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/

相关文章:

php - 将变体价格添加到 Woocommerce 中的可变产品下拉项目名称中

php - wp_set_object_terms 不适用于自定义分类法和 cpt

javascript - Wordpress Cron Job 调用 javascript 函数提交 Web 表单

javascript - Skrollr 不能在 html 和 body 上使用 100% 高度

javascript - Skrollr transform函数导致文本抖动

jquery - 滚动条 : Output looks different although I use the same code as the example

php - 如果没有特色图片则隐藏部分

php - 如何显示函数值?

javascript - Skrollr 抖动和绝对定位上的跳跃

javascript - 以相对速度的简单视差滚动