详解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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
抓取YAHOO股票报价的类
May 15 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
PHP输出一个等腰三角形的方法
May 12 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
python求crc32值的方法
2014/10/05 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
python构建深度神经网络(DNN)
2018/03/10 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
python定位xpath 节点位置的方法
2019/08/27 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
Weblogic和WebSphere不同特点
2012/05/09 面试题
大学生演讲稿范文
2014/01/11 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
初一军训感言
2015/08/01 职场文书
导游词之镇江焦山
2019/11/21 职场文书
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers