快速掌握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编程起步(第五课)
Feb 27 Javascript
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
用javascript实现分割提取页面所需内容
May 09 Javascript
JS input 数字验证代码
Jul 30 Javascript
关于javascript DOM事件模型的两件事
Jul 22 Javascript
Jquery 插件开发笔记整理
Jan 17 Javascript
html中table数据排序的js代码
Aug 09 Javascript
node.js中watch机制详解
Nov 17 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
Augularjs-起步详解
Jul 08 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 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
swfupload 多文件上传实现代码
2008/08/27 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python生成随机图形验证码详解
2017/11/08 Python
Python数据类型之List列表实例详解
2019/05/08 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
团组织关系介绍信
2014/01/12 职场文书
发展部经理职责规定
2014/02/22 职场文书
ktv筹备计划书
2014/05/03 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
幼儿园辞职信
2015/05/13 职场文书