详解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 pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
php和vue配合使用技巧和方法
May 09 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
中国收音机工业发展史
2021/03/02 无线电
PHP 和 XML: 使用expat函数(一)
2006/10/09 PHP
PHP生成树的方法
2015/07/28 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
Python中用altzone()方法处理时区的教程
2015/05/22 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
大学自我鉴定
2013/12/20 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
自行车广告词大全
2014/03/21 职场文书
大学生村官演讲稿
2014/04/25 职场文书
企业活动策划方案
2014/06/02 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
7个关于Python的经典基础案例
2021/11/07 Python
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript