首页 / 插件开发手册 / 钩子 Hooks

钩子 Hooks

钩子是一段代码在特定的预定义点交互/修改另一段代码的一种方式。它们为插件和主题如何与WordPress核心交互奠定了基础,但核心本身也广泛使用它们。

钩子有两种类型:动作过滤器。要使用这两种方法,您需要编写一个自定义函数作为回调函数,然后将其注册到特定动作或过滤器的WordPress钩子。

动作允许您添加数据或更改WordPress的操作方式。动作将在WordPress核心、插件和主题执行的特定点上运行。动作的回调函数可以执行某种任务,例如向用户回显输出或将某些内容插入数据库。动作的回调函数不会将任何内容返回给调用动作的钩子。

过滤器使您能够在执行WordPress核心、插件和主题期间更改数据。过滤器的回调函数将接受、修改并返回变量。它们旨在以孤立的方式工作,并且永远不会有副作用,例如影响全局变量和输出。过滤器期望有东西返回给它们。

WordPress提供了许多可以使用的钩子,但您也可以创建自己的,以便其他开发人员可以扩展和修改您的插件或主题。

 

动作与过滤器

动作和过滤器之间的主要区别可以总结如下:

  • 一个动作获取它接收到的信息,对其进行处理,但什么也不返回。换句话说:它作用于某个对象,然后退出,不向调用钩子返回任何内容。
  • 过滤器接收接收到的信息,以某种方式对其进行修改,然后返回。换句话说:它过滤某物,并将其传递回钩子以供进一步使用。

换一种方式说:

  • 动作会中断代码流以执行某些操作,然后返回到正常流,而无需修改任何内容;
  • 过滤器用于以特定方式修改某些内容,以便代码稍后使用修改。

这里所说的某些对象、内容,是通过钩子定义发送的参数列表,更多信息将在后面的章节中介绍。

 

更多资源