详解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中进行身份认证
Oct 09 PHP
PHP新手上路(八)
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP微信支付开发实例
Jun 22 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP生成加减算法方式的验证码实例
Mar 12 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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中使用正则表达式进行查找替换
2013/06/13 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
高效使用Python字典的清单
2018/04/04 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
以下的初始化有什么区别
2013/12/16 面试题
党支部书记先进事迹
2014/01/17 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
团组织推优材料
2014/12/29 职场文书
同学会感言
2015/07/30 职场文书
redis 查看所有的key方式
2021/05/07 Redis
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
服务器SVN搭建图文安装过程
2022/06/21 Servers