详解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 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
php 全局变量范围分析
Aug 07 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
PHP 时间日期操作实战
Aug 26 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
thinkphp5 路由分发原理
Mar 18 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
4.与数据库的连接
2006/10/09 PHP
php下Memcached入门实例解析
2015/01/05 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
python实现推箱子游戏
2020/03/25 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
python实现xml转json文件的示例代码
2020/12/30 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
学生的自我鉴定范文
2013/10/24 职场文书
自荐信的五个重要部分
2013/10/29 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
研修心得体会
2014/09/04 职场文书
失恋33天观后感
2015/06/11 职场文书