挂钩
挂钩是一段代码在特定的预定义位置交互/修改另一段代码的方式。它们构成了插件和主题如何与 WordPress Core 交互的基础,但 Core 本身也广泛使用它们。
有两种类型的钩子:Actions和Filters。要使用其中任何一个,您需要编写一个名为 a 的自定义函数Callback
,然后将其注册到 WordPress 挂钩以执行特定操作或过滤器。
操作允许您添加数据或更改 WordPress 的运行方式。操作将在 WordPress 核心、插件和主题执行的特定点运行。操作的回调函数可以执行某种任务,例如向用户回显输出或将某些内容插入数据库。Action 的回调函数不会将任何内容返回到调用 Action 挂钩。
过滤器使您能够在 WordPress 核心、插件和主题执行期间更改数据。过滤器的回调函数将接受一个变量,修改它,然后返回它。它们旨在以隔离的方式工作,并且永远不应该产生副作用,例如影响全局变量和输出。过滤器期望有一些东西返回给他们。
WordPress 提供了许多可供您使用的挂钩,但您也可以创建自己的挂钩,以便其他开发人员可以扩展和修改您的插件或主题。
操作与过滤器
动作和过滤器之间的主要区别可以总结如下:
- 动作获取它收到的信息,用它做一些事情,并且不返回任何内容。换句话说:它作用于某些东西,然后退出,不向调用钩子返回任何内容。
- 过滤器获取它接收到的信息,以某种方式修改它,然后返回它。换句话说:它过滤一些东西并将其传回钩子以供进一步使用。
另一种说法是:
- 动作会中断代码流以执行某些操作,然后返回到正常流程而不修改任何内容;
- 过滤器用于以特定方式修改某些内容,以便稍后的代码使用该修改。
所指的是通过钩子定义发送的参数列表。稍后部分将详细介绍这一点。