详解WordPress中创建和添加过滤器的相关PHP函数


Posted in PHP onDecember 29, 2015

apply_filters()(创建过滤器)
apply_filters() 函数用来创建一个过滤器,大多数被用在函数中,是 WordPress 插件机制中非常重要的一个函数,能让其它的主题和插件对一个值进行修改过滤。

用法

apply_filters( $tag, $value, $var... );

参数

$tag

(字符串)(必须)过滤器的名字。

默认值:None

$value

(混合)(必须)要过滤的值,如果没人过滤则直接返回这个值。

$var

(混合) (可选)传给过滤函数额外的变量参数,辅助过滤函数对返回值进行操作,可以添加无限个。

返回值

(混合)过滤后的值,如果没人过滤则直接返回 $value 的值。

例子

没人过滤:

echo apply_filters( 'test', '可以被修改的值' );

打印结果:

可以被修改的值

有人过滤:

function test_func(){
  return '修改值';
}
add_filter( 'test', 'test_func' );
echo apply_filters( 'test', '可以被修改的值' );

打印结果:

修改值

接收参数:

function test_func(){
  return '修改值';
}
add_filter( 'test', 'test_func' );
function test_func2( $text ){
  return $text . '2';
}
add_filter( 'test', 'test_func2' );
echo apply_filters( 'test', '可以被修改的值' );

多个参数:

function test_func( $text, $var, $var2 ){
  return '修改值' . $var1 . $var2;
}
add_action( 'test', 'test_func', 10, 3 );
echo apply_filters( 'test', '可以被修改的值', '辅助值1', '辅助值2' );

其它

此函数位于:wp-includes/plugin.php

add_filter()(添加过滤器)
add_filter() 可以挂载一个函数到指定的过滤器上。

用法

add_filter( $tag, $function_to_add, $priority, $accepted_args );

参数

$tag

(字符串)(必须)所挂载的过滤器名字(和目标 apply_filters() 函数的 $tag 属性一样)。

默认值:None

$function_to_add

(回调)(必须)要挂载的回调函数,参考 PHP 回调函数类型文档。

默认值:None

$priority

(整数)(可选)执行顺序,越小函数越先被执行。

默认值:10

$accepted_args

(整数)(可选)回调函数接收的参数数量,设置多个可以接收更多 apply_filters() 函数传进来的参数。

默认值:1

返回值

(布尔)总是 True

例子

function test_func( $text, $var1, $var2 ){
  return $text . $var1 . $var2;
}
add_action( 'test', 'test_func', 10, 3 );
echo apply_filters( 'test', '参数2', '参数3', '参数4' );

打印:

test参数2参数3

其它

该函数位于:wp-includes/plugin.php

PHP 相关文章推荐
PHP配置心得包含MYSQL5乱码解决
Nov 20 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
php获取当月最后一天函数分享
Feb 02 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
试用php中oci8扩展
Jun 18 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 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
PHP实现批量上传单个文件
Dec 29 #PHP
You might like
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
一个程序下载的管理程序(四)
2006/10/09 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
浅谈Vue数据响应
2018/11/05 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
[00:15]天涯墨客终极技能展示
2018/08/25 DOTA
Python线程的两种编程方式
2015/04/14 Python
Python多进程fork()函数详解
2019/02/22 Python
python numpy 反转 reverse示例
2019/12/04 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
自荐信的禁忌和要点
2013/10/15 职场文书
打架检讨书800字
2014/01/10 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
写自荐信的注意事项
2014/03/09 职场文书
出国留学计划书
2014/04/27 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记