快速掌握WordPress中加载JavaScript脚本的方法


Posted in Javascript onDecember 17, 2015

在 WordPress 中加载脚本(为 CSS 和 JS,下同)文件,大多数人的做法是直接在 header.php 文件中添加 link 标签,或者把 link 标签通过 wp_head 钩子直接添加到 head 标签里,这种做法是不符合官方规范的。

标准的脚本加载方式应该是使用 WordPress 官方提供的函数(后边会说),统一标准有几个好处,首先就是更加安全和利于管理,其次是更加的方便快捷,而且不仅主题能挂载脚本,插件也可以,并且还能管理脚本,并且调整挂载顺序和位置和其它内容。

在哪个钩子加载?

在调用加载脚本函数之前,我们首先要确定函数在哪个钩子处执行,有四个常用的脚本加载钩子,分别是 wp_enqueue_scripts(在前台加载)、admin_enqueue_scripts(在后台加载)、login_enqueue_scripts(在登录页加载)和 init(全局加载)。

最常用的应该是 wp_enqueue_scripts 了,挂载到这上面,脚本只在前台加载。

加载 JavaScript 脚本

比如说我想在前台加载一个 JS,是主题根目录 JS 文件夹的 themes.js 文件。首先需要使用 wp_register_script() 函数把 JS 添加到脚本库里边(注册脚本),然后再使用 wp_enqueue_script() 函数挂载脚本。

function Bing_enqueue_scripts(){
  wp_register_script( 'themes_js', get_bloginfo( 'template_directory' ) . '/js/themes_js.js' );//注册 ID 为 themes_js 的 JS 脚本
  wp_enqueue_script( 'themes_js' );//挂载脚本
}
add_action( 'wp_enqueue_scripts', 'Bing_enqueue_scripts' );

加载 CSS 脚本

function Bing_enqueue_scripts(){
  wp_register_style( 'style', get_bloginfo( 'template_directory' ) . '/style.css' );
  wp_enqueue_style( 'style' );
}
add_action( 'wp_enqueue_scripts', 'Bing_enqueue_scripts' );

小结

本文只是非常简单的讲解了怎么加载脚本,合理的利用脚本排队机制,可以让程序变得灵活,也可以加快效率。

Javascript 相关文章推荐
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
Sep 19 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
理解Javascript闭包
Nov 01 Javascript
ES6通过babel转码使用webpack使用import关键字
Dec 13 Javascript
jQuery实现一个简单的轮播图
Feb 19 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
简单的网页广告特效实例
Aug 19 Javascript
vue实现选项卡及选项卡切换效果
Apr 24 Javascript
vue router 跳转后回到顶部的实例
Aug 31 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 Javascript
javascript实现打砖块小游戏(附完整源码)
Sep 18 Javascript
JSONObject使用方法详解
Dec 17 #Javascript
JS实现alert中显示换行的方法
Dec 17 #Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 #Javascript
jQuery实现进度条效果代码
Dec 17 #Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 #Javascript
javascript日期格式化方法小结
Dec 17 #Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 #Javascript
You might like
php header()函数使用说明
2008/07/10 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
设定php简写功能的方法
2019/11/28 PHP
jQuery最佳实践完整篇
2011/08/20 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
Python装饰器基础详解
2016/03/09 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python3实现表白神器
2019/04/09 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
Python命令行click参数用法解析
2019/12/19 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
小学生班会演讲稿
2014/01/09 职场文书
音乐教学反思
2014/02/02 职场文书
工程项目建议书范文
2014/03/12 职场文书
2014教师研修学习体会
2014/07/08 职场文书
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python