详解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之数据库操作详解及乱码解决!
Jan 02 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
有关php运算符的知识大全
Nov 03 PHP
php class类的用法详细总结
Oct 17 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
php实现telnet功能示例
2014/04/08 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
php中数组最简单的使用方法
2020/12/27 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
浏览器常用高宽的jquery插件
2011/02/24 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
python关闭占用端口方式
2019/12/17 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
中间件分为哪几类
2016/09/18 面试题
学习十八大报告感言
2014/02/28 职场文书
工会换届选举方案
2014/05/21 职场文书
员工工作及收入证明
2014/10/28 职场文书
公务员处分决定书
2015/06/25 职场文书
Go 中的空白标识符下划线
2022/03/25 Golang
Pandas 数据编码的十种方法
2022/04/20 Python