从the doc我无法找到将我的JS文件包含在Sage主题中的正确方法。这是正确的程序是什么?
答案 0 :(得分:3)
您可以使用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库。
通过凉亭安装库
bower install --save slick-carousel
接下来,您需要确定安装包中需要哪些文件。因此,您需要将这些文件的路径添加到overrides
文件的bower.json
部分。
注意:路径相对于/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 - 一个快速简便的插件,用于将脚本文件插入到文档中。您将文件放入主题中,以后没有人可以意外地覆盖或删除您的更改。