详解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 02 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
php中{}大括号是什么意思
Dec 01 PHP
php中Y2K38的漏洞解决方法实例分析
Sep 22 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
May 03 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
七种PHP开发环境搭建工具
Jun 28 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/03/07 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
Javascript无阻塞加载具体方式
2013/06/28 Javascript
css配合jquery美化 select
2013/11/29 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
解决layui laydate 时间控件一闪而过的问题
2019/09/28 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python版中国省市经纬度
2020/02/11 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
交通事故委托书范本精选
2014/10/04 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
公司介绍信范文
2015/01/31 职场文书
2015中秋祝酒词
2015/08/12 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
详解thinkphp的Auth类认证
2021/05/28 PHP
Python之基础函数案例详解
2021/08/30 Python
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android