详解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 相关文章推荐
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
Python Socket使用实例
2017/12/18 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python异常处理例题整理
2019/07/07 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
详解Python设计模式之策略模式
2020/06/15 Python
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
运动会通讯稿100字
2014/01/31 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
《三峡》教学反思
2014/03/01 职场文书
家长对老师的评语
2014/04/18 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫