快速掌握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动态方法调用与参数修改的问题
Dec 10 Javascript
js判断ie版本号的简单实现代码
Mar 05 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
百度地图api如何使用
Aug 03 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
Aug 11 Javascript
JavaScript函数内部属性和函数方法实例详解
Mar 17 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
May 07 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
Feb 25 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 Javascript
js对象属性名驼峰式转下划线的实例代码
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
Zend Framework路由器用法实例详解
2016/12/11 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
Javascript中的数学函数
2007/04/04 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
JS实现拼图游戏
2021/01/29 Javascript
js实现div色块碰撞
2020/01/16 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
Python Deque 模块使用详解
2014/07/04 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python tornado微信开发入门代码
2018/08/24 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
Python tcp传输代码实例解析
2020/03/18 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
运动会广播稿80字
2014/01/23 职场文书
企业口号大全
2014/06/12 职场文书
公司合并协议书范本
2014/09/30 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS