WordPress 插件开发手册

title: "钩子" post_status: publish comment_status: open taxonomy: category: - developer-plugins-handbook post_tag: - Hooks - Repos - Data


钩子

钩子是一种让代码在特定预定义位置与其他代码交互/修改的方式。它们构成了插件和主题与 WordPress 核心交互的基础,同时核心自身也广泛使用钩子。

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

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

过滤器让您能够在 WordPress 核心、插件和主题执行期间修改数据。过滤器的回调函数会接收一个变量,修改它,然后将其返回。它们应以独立的方式工作,不应产生副作用,例如影响全局变量或输出。过滤器期望有内容返回给它们。

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

动作与过滤器的区别

动作和过滤器的主要区别可以这样概括:

另一种表述:

这里提到的“某物”是指通过钩子定义传递的参数列表。更多细节将在后续章节中介绍。

更多资源