详解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加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
php读取纯真ip数据库使用示例
Jan 26 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
图像替换新技术 状态域方法
2010/01/28 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
Python 文件重命名工具代码
2009/07/26 Python
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
优秀教师先进事迹
2014/01/22 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
市场营销调查计划书
2014/05/02 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
项目转让协议书
2014/10/27 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
mysql函数全面总结
2021/11/11 MySQL
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA
SQL Server中锁的用法
2022/05/20 SQL Server