详解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网站备份程序代码分享
Jun 10 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
简单实用的网站PHP缓存类实例
Jul 18 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
php使用cookie实现记住登录状态
Apr 27 PHP
PHP生成短网址方法汇总
Jul 12 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
PHP写的简单数字验证码实例
May 23 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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常用编译参数中文说明
2014/09/27 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
javascript radio 联动效果
2009/03/04 Javascript
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
python中的错误处理
2016/04/10 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python定时任务sched模块用法示例
2018/07/16 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
深入学习python多线程与GIL
2019/08/26 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python实现智能语音天气预报
2019/12/02 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
消防安全宣传标语
2014/06/07 职场文书
create-react-app开发常用配置教程
2022/06/25 Javascript