用于 Abilities API 的 WordPress 核心功能集成。
该软件包提供了 @wordpress/abilities 软件包与 WordPress REST API 之间的集成层。它从 WordPress 服务器获取并注册所有功能(abilities)和类别(categories)。
安装
安装该模块:
npm install @wordpress/core-abilities --save
此软件包假设您的代码将在 ES2015+ 环境中运行。如果您使用的环境对这类语言特性和/或 API 的支持有限或完全不支持,则应在代码中包含 @wordpress/babel-preset-default 提供的 polyfill。
用法
此软件包设计为在 WordPress 管理页面作为脚本模块加载。加载后,它会自动执行以下操作:
- 从
/wp-abilities/v1/categories获取所有功能类别 - 使用
@wordpress/abilities注册它们 - 从
/wp-abilities/v1/abilities获取所有功能 - 使用处理通过 REST API 执行的
callback进行注册
只需导入该软件包即可初始化 WordPress 功能:
import '@wordpress/core-abilities';
初始化是异步的,因为类别和功能是从 REST API 获取的。要在调用 getAbilities() 或 executeAbility() 之前等待注册完成,请等待导出的 ready 承诺:
import { ready } from '@wordpress/core-abilities';
import { getAbilities, executeAbility } from '@wordpress/abilities';
await ready;
console.log( getAbilities() );
console.log( await executeAbility( 'core/get-site-info' ) );
为了将网络请求推迟到实际需要功能的特性时再发起,请从该特性动态导入该软件包——模块(及其请求)仅在 import() 调用运行时加载:
await import( '@wordpress/core-abilities' );
为此软件包做出贡献
这是 Gutenberg 项目的一部分独立软件包。该项目组织为一个 monorepo。它由多个自包含的软件包组成,每个软件包都有特定的用途。此 monorepo 中的软件包发布到 npm,并被 WordPress 以及其他软件项目使用。
要了解有关为此软件包或整个 Gutenberg 做出贡献的更多信息,请阅读项目的主要 贡献者指南。