详解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 相关文章推荐
PHP5中使用DOM控制XML实现代码
May 07 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 PHP
一个非常实用的php文件上传类
Jul 04 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 PHP
PHP正则表达式之RCEService回溯
Apr 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
php 启动时报错的简单解决方法
2014/01/27 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
php中执行系统命令的方法
2015/03/21 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
初婚未育未抱养证明
2014/01/12 职场文书
优秀学生事迹材料
2014/02/08 职场文书
解除财产保全担保书
2014/05/20 职场文书
大专学生求职信
2014/07/04 职场文书
法人授权委托书样本
2014/09/19 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书