@wordpress/挂钩

针对JavaScript的轻量级高效EventManager。

安装

安装模块

npm install@wordpress/hooks--保存

此包假定您的代码将在2015年欧洲标准+环境。如果您使用的环境对此类语言功能和API的支持有限或不支持,您应该包括polyfill发货@wordpress/babel预设在您的代码中。

用法

在JavaScript项目中,使用挂钩,如下所示:

从“@wordpress/hooks”导入{createHooks};myObject.hooks=创建挂钩();myObject.hooks.addAction()//等。。。

全局实例

在上面的示例中,我们正在创建挂钩对象并在那里注册挂钩。该包还创建了一个默认的全局实例,可以通过默认挂钩命名导出,其方法也会逐个单独导出。

在WordPress上下文中,允许通过全局wp.挂钩对象,如wp.hooks.addAction()等。

JS和PHP钩子API之间的一个显著区别是,在JS版本中,添加操作()添加筛选器()还需要包含名称空间作为第二个参数。命名空间唯一标识表单中的回调供应商/插件/功能.

API使用

  • 创建挂钩()
  • addAction('hookName','namespace',回调,优先级)
  • addFilter('hookName','namespace',回调,优先级)
  • removeAction('hookName','namespace')
  • removeFilter('hookName','namespace')
  • removeAllActions('hookName')
  • removeAllFilters('hookName')
  • doAction('hookName',arg1,arg2,moreArgs,finalArg)
  • 应用筛选器('hookName',content,arg1,arg2,moreArgs,finalArg)
  • doingAction('hookName')
  • doingFilter('hookName')
  • didAction('hookName')
  • didFilter('hookName')
  • hasAction('hookName','namespace')
  • hasFilter('hookName','namespace')
  • 行动
  • 过滤器
  • 默认挂钩

操作/筛选器添加或删除事件

每当添加或删除操作或筛选器时挂钩已添加挂钩已移除操作被触发。

  • 挂钩已添加操作在以下情况下触发添加过滤器()添加操作()方法,为传递值hookName(挂钩名称),函数名称,回调优先.
  • 挂钩已拆下操作在以下情况下触发删除过滤器()删除操作()方法,为传递值挂钩名称函数名称.

全钩

在非缩小的生成中,开发人员可以注册将在上调用的筛选器或操作全部的挂钩,例如:addAction('all','namespace',callbackFunction);。用于调试,支持全部的出于性能原因,hook被从生产代码中删除。

参与此包

这是古腾堡项目的一部分。该项目组织为单回购。它由多个独立的软件包组成,每个包都有特定的用途。此monorepo中的包发布到净现值法并由使用WordPress(文字出版社)以及其他软件项目。

要了解更多关于对这个包或古腾堡整体贡献的信息,请阅读该项目的主要内容贡献者指南.