[英]Proper way to include JS files with Sage WordPress theme
您可以使用scripts/**/*
全局模式。 这会将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
文件夹的
有关更多信息,请访问一些示例 。
例如,让我们安装轮播Slick库。
通过Bower安装库
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文件的一部分。
您需要将代码添加到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' );
我没有使用这个特定主题,但是很可能有一个“自定义javascript”框,您可以在其中插入javascript。 如果您希望将javascript保留在文件中,而不是复制粘贴到主题中,则答案要复杂一些。
我很欣赏Genesis Framework的工作方式。 他们提供了一个框,用于将您想要的任何内容(元标记,样式,脚本)插入主题的标题,而不是使用javascript。
您还可以使用wp_enqueue_script()通过主题的functions.php加载文件。 这里的问题是您不能再(轻松)更新主题,因为该过程将覆盖对文件的更改。 出于安全原因,您不想错过任何一个更新。
这就是为什么我推荐这样的解决方案的原因-一种快速简便的插件,用于将脚本文件插入文档中。 您将文件放入主题中,以后没有人会意外覆盖或删除您的更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.