因为,我只能保持三分钟热度,所以,知识点一定要在三分钟之内讲完……
只要搞 WordPress 开发,不管是主题还是插件,肯定离不开 WordPress 钩子。老手也一定知道,钩子分为 Action 和 Filter。都是钩子,Action 和 Filter 有什么区别呢?
官方是这么这么解释的(如果你感觉官方解释太啰嗦了,直接看官方解释的最后两句就可以了):
钩子是一段代码在特定的预定义位置交互/修改另一段代码的一种方式。它们为插件和主题如何与WordPress Core交互奠定了基础,WordPress本身也广泛使用它们。
有两种类型的钩子:操作(Action)和过滤器(Filter)。要使用这两种方法,您需要编写一个称为Callback的自定义函数,然后使用WordPress钩子为特定的操作或过滤器注册它。
操作(Action)允许您添加数据或更改WordPress的操作方式。操作将在执行WordPress核心、插件和主题的特定点运行。Actions的回调函数可以执行某种任务,例如向用户回显输出或向数据库中插入内容。Action的回调函数不会向调用Action钩子返回任何内容。
过滤器(Filter)使您能够在执行WordPress Core、插件和主题期间更改数据。过滤器的回调函数将接受一个变量,修改它并返回它。它们旨在以一种孤立的方式工作,不应产生影响全局变量和输出等副作用。过滤器希望返回一些内容。
WordPress提供了许多你可以使用的钩子,但你也可以创建自己的钩子,以便其他开发人员可以扩展和修改你的插件或主题。
动作(Action)和过滤器(Filter)之间的主要区别可以总结如下:
一个动作接受它接收到的信息,用它做一些事情,但什么也不返回。换句话说:它作用于某个对象,然后退出,不向调用钩子返回任何内容。
过滤器接受它接收的信息,以某种方式修改它,然后返回它。换句话说:它过滤一些东西并将其传递回钩子以供进一步使用。
另一种说法是:
动作(Action)中断代码流以执行某些操作,然后返回到正常流而不修改任何内容;
过滤器(Filter)用于以特定方式修改某些内容,以便稍后代码使用该修改后的内容。
正常情况下,类似记录日志的功能,应该使用Action;类似给内容解码、格式化的功能应该使用Filter。
如果,非要在Filter里记录日志,在Action里处理数据会怎么样呢?
其实,也不会有什么影响,就是显得比较二一点……
-
Post Type Switcher将 WordPress文章从一个类型转换到另一个类型Post Type Switcher是一个WordPress插件,用于将文章从一个类型转换到另一个类型,包括自定义文章类型。安装并启用该插件后,在编辑文章时,会在发布面板中增加Post Type选项,用户可以选择要转换到的文章类型并更新文章。此外,插件也支持在后台所有文章页面批量更改文章类型。
-
Fluent Forms - WordPress表单插件Fluent Forms是一款功能强大且易于使用的WordPress表单插件,适合各种规模的网站使用。无论是简单的联系表单还是复杂的用户调查表,Fluent Forms都能满足用户的需求。
-
WP-Ban WordPress禁止指定IP访问网站的插件WP-Ban是一款专为WordPress网站设计的安全插件,其主要功能是屏蔽恶意或不受欢迎的IP地址,以增强网站的安全性。
-
WPvivid插件:WordPress网站备份与还原的解决方案WPvivid插件是一款功能强大的WordPress插件,专为网站数据备份、还原和搬家设计。它支持高度自定义的备份选项,允许用户选择备份整个站点(包括数据库和文件)、仅文件或仅数据库。
-
Dashboard Notes WordPress仪表盘中添加备注信息的实用插件WP Dashboard Notes插件是WordPress平台上一个实用的仪表盘备注信息工具,它可以帮助网站管理者更好地记录和管理网站的日常维护工作、待办事项等。通过该插件的自定义备注和待办列表功能,用户可以更好的跟踪和完成任务,提高网站管理的效率和质量。
-
FluentSMTP一款功能强大且免费的WordPress SMTP插件FluentSMTP是一款功能强大且免费的SMTP插件,它支持为WordPress配置多个SMTP发送服务器。
暂无评论,抢个沙发...