快速掌握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 相关文章推荐
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
Jun 19 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
JavaScript实现公历转农历功能示例
Feb 13 Javascript
基于JavaScript 性能优化技巧心得(分享)
Dec 11 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
vue自定义filters过滤器
Apr 26 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
对vuex中getters计算过滤操作详解
Nov 06 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
JS变量提升原理与用法实例浅析
May 22 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中的魔术方法总结和使用实例
2015/05/11 PHP
ThinkPHP安装和设置
2015/07/27 PHP
php 实现进制相互转换
2016/04/07 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
python实现数通设备端口监控示例
2014/04/02 Python
Python中的推导式使用详解
2015/06/03 Python
Python中单例模式总结
2018/02/20 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
python3实现微型的web服务器
2019/09/03 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
高中军训广播稿
2014/01/14 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
电力培训心得体会
2014/09/02 职场文书
青岛海底世界导游词
2015/02/11 职场文书