详解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 相关文章推荐
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
php str_replace的替换漏洞
Mar 15 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
获取URL文件名后缀
Oct 24 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
php递归json类实例
Dec 02 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
php调整服务器时间的方法
Apr 03 PHP
php微信支付接口开发程序
Aug 02 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
php数据访问之查询关键字
2016/05/09 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PDO::query讲解
2019/01/29 PHP
javascript读取xml
2006/11/04 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Python map及filter函数使用方法解析
2020/08/06 Python
Python下载的11种姿势(小结)
2020/11/18 Python
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
介绍一下MD5加密算法
2016/11/12 面试题
数控专业个人求职信范例
2013/11/29 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis