首页 > CMS > Wordpress > 正文

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

2024-09-07 00:48:06
字体:
来源:转载
供稿:网友

这篇文章主要介绍了WordPress中创建和添加过滤器的相关PHP函数,分别是apply_filters()函数和add_filter()函数的使用,需要的朋友可以参考下

apply_filters()(创建过滤器)

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

用法

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

参数

$tag

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

默认值:None

$value

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

$var

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

返回值

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

例子

没人过滤:

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

打印结果:

可以被修改的值

有人过滤:

  1. function test_func(){ 
  2.   return '修改值'
  3. add_filter( 'test''test_func' ); 
  4. echo apply_filters( 'test''可以被修改的值' ); 

打印结果:

修改值

接收参数:

  1. function test_func(){ 
  2.   return '修改值'
  3. add_filter( 'test''test_func' ); 
  4. function test_func2( $text ){ 
  5.   return $text . '2'
  6. add_filter( 'test''test_func2' ); 
  7. echo apply_filters( 'test''可以被修改的值' ); 

多个参数:

  1. function test_func( $text$var$var2 ){ 
  2.   return '修改值' . $var1 . $var2
  3. add_action( 'test''test_func', 10, 3 ); 
  4. 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

例子

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

打印:

test参数2参数3

其它

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表