详解WordPress中添加和执行动作的函数使用方法


Posted in PHP onDecember 29, 2015

add_action()(添加动作)
add_action() 函数用来挂载一个函数到动作钩子上。

用法

add_action( $tag, $function_to_add, $priority, $accepted_args );

参数

$hook

(字符串)(必须)挂载函数的动作名称。

默认值:None

$function_to_add

(回调函数)(必须)挂载的函数,直接填写字符串形式的函数名即可。

默认值:None

$priority

(整数)(可选)动作执行的优先级,数值越小越先被执行。

默认值:10

$accepted_args

(整数)(可选)回调函数接收几个参数。

默认值:1

返回值

(布尔)始终返回 True.

例子

给 wp_head 动作挂载一个函数,在 head 标签打印输出一些东西。

function Bing_wp_head_test_print(){
  echo '<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0" />';
}
add_action( 'wp_head', 'Bing_wp_head_test_print' );

其它

该函数位于:wp-includes/plugin.php

do_action()(执行动作)
do_action() 用来执行动作钩子,它和 apply_filters() 的区别在于没有返回值,单纯的就是在特定的地方执行插件或者主题开发者挂载的函数,一般存在于某个特殊的节点或者事件上(比如开始加载主题模板的时候或者发布一篇文章的时候)。

用法

do_action( $tag, $arg... );

参数

$tag

(字符串)(必须)要执行的动作的名字。

$arg

(混合)(可选)额外的参数,会被传到调用的函数里,可以添加无限个,比如保存文章的时候触发 save_post 动作,就可以把保存的文章的 id 穿进去,让回调函数根据文章 id 进行操作。

返回值

None

例子

function func(){
  echo '测试';
}
add_action( 'test', 'func' );
do_action( 'test' );

屏幕打印:

测试

更多参考类似的 apply_filters():http://www.endskin.com/apply_filters/

其它

此函数位于:wp-includes/plugin.php

PHP 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
php中对2个数组相加的函数
Jun 24 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
php实现读取超大文件的方法
Jul 28 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
Yii编程开发常见调用技巧集锦
Jul 15 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
php微信公众号开发之简答题
Oct 20 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 #PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 #PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 #PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 #PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 #PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
Dec 29 #PHP
Yii使用技巧大汇总
Dec 29 #PHP
You might like
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
中科方德软件测试面试题
2016/04/21 面试题
公积金转移接收函
2014/01/11 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
物业接待员岗位职责
2015/04/15 职场文书
2015年度保密工作总结
2015/04/24 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
导游词之无锡梅园
2019/11/28 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers