针对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版本中,添加操作()
和添加筛选器()
还需要包含名称空间作为第二个参数。命名空间唯一标识表单中的回调供应商/插件/功能
.
创建挂钩()
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(文字出版社)以及其他软件项目。
要了解更多关于对这个包或古腾堡整体贡献的信息,请阅读该项目的主要内容贡献者指南.