apply_filters(…)在WordPress中实际做什么?

apply_filters(…)在WordPress中实际做什么?,wordpress,function,Wordpress,Function,我试图理解WordPress中的一些功能,但我无法理解它的实际功能 有人能用几个例子帮我澄清这一点吗?应用过滤器($tag,$value)将'value'参数传递给每个函数'hooked'(使用)到指定的过滤器'tag'。每个函数对该值执行一些处理,并返回一个修改后的值以传递给序列中的下一个函数 例如,默认情况下(在WordPress 2.9中),过滤器通过以下函数序列传递值: 纹理化 转化微笑 转换字符 wpautop 短码 预加附件 do_短码 在最基本的术语中,“应用过滤器”用于初始化过

我试图理解WordPress中的一些功能,但我无法理解它的实际功能

有人能用几个例子帮我澄清这一点吗?

应用过滤器($tag,$value)
将'value'参数传递给每个函数'hooked'(使用)到指定的过滤器'tag'。每个函数对该值执行一些处理,并返回一个修改后的值以传递给序列中的下一个函数

例如,默认情况下(在WordPress 2.9中),过滤器通过以下函数序列传递值:

  • 纹理化
  • 转化微笑
  • 转换字符
  • wpautop
  • 短码
  • 预加附件
  • do_短码

在最基本的术语中,“应用过滤器”用于初始化过滤器挂钩。。。add_filter为已经创建的钩子分配一个新函数。

考虑到最流行的答案和其他资源,我收集了以下内容:

  • $tag似乎是钩子名称的同义词。(这对我来说不是特别直观。)
  • _内容是“过滤器”类型的挂钩示例
  • _内容挂钩由多个筛选器组成
  • 过滤器修改数据。他们基本上过滤数据库,在用户查看数据之前更改数据
  • 例如,apply_filters()的一个常见用法是将_内容过滤器应用于$content。在本例中,双回车将转换为标签,笑脸将转换为图标等
  • “内容”是一个钩子,“内容()”是一个函数
迟交的答复

简短解释 与
全局$wp_过滤器
数组交互。基本上,它只是检查当前过滤器(或挂钩)是否附加了操作(/callback函数),然后调用它

长篇大论
将回调/操作附加到筛选器或挂钩时,只需将回调名称添加到全局筛选器数组。然后,在代码中(例如,模板、核心或插件文件)调用
do\u action()
apply\u filters()
时,WordPress在数组中搜索并调用回调。过滤器唯一比挂钩更特殊的是,它返回值(用于进一步处理),而不仅仅是触发回调。总结如下:钩子用于插入数据,而过滤器用于修改数据。

对不起,这是错误的做法:apply_filters()调用已经初始化的过滤器钩子,add_filter()调用创建过滤器钩子。我知道你是这个意思,但是你的函数是错误的!应用过滤器($tag$value);允许您在代码中创建一个位置,然后使用add_filter()将您传递的$value挂接到其中并进行修改;Awesome:注意,
apply_filters()
对于函数来说是一个令人难以置信的误导性名称,因为它同时应用了连接到目标上的过滤器和操作function@NabilKadimi,非常好的建议,但当此函数不接受任何参数时(请单击链接查看我所说的函数),正如他在下一节代码中所描述的,$output变量是如何更改的?@ramespareek You's link似乎没有按预期工作,请使用Github gist。对不起!请向下滚动到示例1:该页面上的基础知识。如果
apply\u filters($value)
似乎正在清除某个值,请记住回显任何未使用的值。。。