详解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获取网页内容方法总结
Dec 04 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
zend framework重定向方法小结
May 28 PHP
php生出随机字符串
Jul 06 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Python中Unittest框架的具体使用
2019/08/27 Python
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
几个判断型的面试题
2012/07/03 面试题
毕业生求职的求职信
2013/12/05 职场文书
实习鉴定范文
2013/12/19 职场文书
演讲稿开场白
2014/01/13 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
护士岗位职责
2014/02/16 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
机关作风建设自查报告
2014/10/22 职场文书
2014年调度员工作总结
2014/11/19 职场文书
采购内勤岗位职责
2015/04/13 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
合同审查法律意见书
2015/06/04 职场文书
《刷子李》教学反思
2016/02/20 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python