详解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 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
微信公众平台之快递查询功能用法实例
Apr 14 PHP
PHP编写RESTful接口
Feb 23 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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程序中的常见漏洞进行攻击
2006/10/09 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
IE与FireFox中的childNodes区别
2011/10/20 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
使用JavaScript破解web
2018/09/28 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Python的设计模式编程入门指南
2015/04/02 Python
python多线程并发实例及其优化
2019/06/27 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
小学生寒假家长评语
2014/04/16 职场文书
卖车协议书
2014/04/21 职场文书
师德师风个人反思
2014/04/28 职场文书
保护环境标语
2014/06/09 职场文书
服务标语口号
2014/07/01 职场文书
授权委托书格式范文
2014/08/02 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
乒乓球比赛通知
2015/04/27 职场文书
甲午大海战观后感
2015/06/02 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技
vue中data里面的数据相互使用方式
2022/06/05 Vue.js
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS