加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

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

发布时间:2022-06-20 11:09:22 所属栏目:教程 来源:互联网
导读:这篇文章主要介绍了WordPress中创建和添加过滤器的相关PHP函数,分别是apply_filters()函数和add_filter()函数的使用,需要的朋友可以参考下 apply_filters()(创建过滤器) apply_filters() 函数用来创建一个过滤器,大多数被用在函数中,是 WordPress 插件机
  这篇文章主要介绍了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', '可以被修改的值' );
 
  打印结果:
 
  可以被修改的值
 
  有人过滤:
 
  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。

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!