使用Sage WordPress主题包含JS文件的正确方法

时间:2016-04-27 11:54:45

标签: javascript wordpress dependencies

the doc我无法找到将我的JS文件包含在Sage主题中的正确方法。这是正确的程序是什么?

3 个答案:

答案 0 :(得分:3)

包括自定义脚本(未通过bower包管理器安装)

您可以使用scripts/**/* glob模式。这会将assets/scripts/目录中的所有脚本捆绑到dist/scripts/main.js文件中。

像这样编辑assets/manifest.json

{ 
  "dependencies": {
    "main.js": {
      "vendor": [
        // Your external libs that are not available via bower
      ]
      "files": [
        "scripts/**/*",
        "scripts/main.js"
      ],
      "main": true
    },
    .
    .
    .
  • vendor - 属性路径相对于项目根目录

  • files - 属性相对于assets文件夹

有关详细信息,请访问examples

安装&包括凉亭依赖

例如,让我们安装轮播Slick库。

  1. 通过凉亭安装库

    bower install --save slick-carousel
    
  2. 接下来,您需要确定安装包中需要哪些文件。因此,您需要将这些文件的路径添加到overrides文件的bower.json部分。

  3. 注意:路径相对于/bower_components/<package_name>

        "slick-carousel": {
          "main": [
            "./slick/slick.min.js",
            "./slick/slick.css"
           ]
        }
    

    现在库将成为已编译的dist / scripts / main.js文件的一部分。

答案 1 :(得分:0)

您需要在functions.php文件中添加代码。您将看到有sage_sripts或类似的函数,在该函数中您将需要添加wp_enqueue_script

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

以下是一个示例:

/**
 * Enqueue scripts and styles.
 */
function sage_scripts() {

    $scripts_version = 1;

    wp_enqueue_style( 'sage-style', get_stylesheet_uri() );

    wp_enqueue_script( 'yourscript', get_template_directory_uri() . '/js/yourscript.js', array(), '1', true );

}
add_action( 'wp_enqueue_scripts', 'sage_scripts' );

答案 2 :(得分:-1)

我还没有使用过这个特定的主题,但很可能有一个&#34;自定义的javascript&#34;您可以在其中插入您的JavaScript的框。如果您希望将javascript保存在文件中而不是复制粘贴到主题中,则答案会更复杂。

我很欣赏Genesis Framework的做法。它们不是一个javascript框,而是提供一个框,用于将您想要的任何内容(元标记,样式,脚本)插入到主题的头部。

您还可以使用wp_enqueue_script()通过主题的functions.php加载文件。这里的问题是您不能(轻松)更新主题,因为该过程将覆盖对文件的更改。出于安全原因,您不希望错过任何更新。

That's why I recommend a solution like this - 一个快速简便的插件,用于将脚本文件插入到文档中。您将文件放入主题中,以后没有人可以意外地覆盖或删除您的更改。