Commands是一个通用包,允许注册和修改要使用命令菜单(也称为命令选项板)显示的命令。可以使用以下命令在编辑器中访问命令调色板厘米+克
.
注册命令有两种方式:静态或动态。这两种方法都接收命令对象作为参数,该参数提供:
名称
:命令的唯一机器可读名称
标签
:可读标签
偶像
:SVG图标
回调
:选择命令时调用的回调函数
上下文
:(可选)命令的上下文
可以使用wp.data.dispatch(wp.commands.store).registerCommand
操作或使用wp.commands.use命令
反作用吊钩。静态命令通常用于执行特定操作。这些可能包括添加新页面或打开编辑器界面的一部分,例如打开编辑器首选项模式。请参阅使用命令
代码示例如下所示。
另一方面,使用“命令加载器”注册动态命令,wp.commands.useCommandLoader
。当命令列表取决于用户在命令调色板输入中输入的搜索词时,或者当某些命令仅在满足某些条件时才可用时,需要这些加载器。
例如,当用户键入“contact”时,命令调色板需要使用该输入筛选可用页面,以尝试查找contact页面。请参阅使用CommandLoader
代码示例如下所示。
静态和动态命令可以是上下文命令。这意味着在给定的上下文中(例如,在导航站点编辑器或编辑模板时),某些特定命令具有更高的优先级,并且在打开命令选项板后立即可见。此外,当键入命令调色板时,这些上下文命令显示在其余命令的上方。
目前,已经实现了两个上下文:
站点编辑器
:这是在站点编辑器中导航时设置的上下文(侧栏可见)。
站点编辑器编辑
:这是在站点编辑器中编辑文档(模板、模板部件或页面)时设置的上下文。
随着命令调色板的使用扩展,将添加更多上下文。
将命令或命令加载器附加到给定上下文就像添加上下文
属性(使用上面可用上下文中的正确上下文值)使用命令
或使用命令加载器
电话。
命令调色板还提供了许多选择器和操作操纵其状态,包括:
- 使用以下选择器检索已注册的命令和命令加载程序
获取命令
和获取命令加载器
- 使用
是打开的
选择器。
- 使用
打开
和关闭
行动。
请参阅命令数据文档以获取更多信息。
安装模块
npm install@wordpress/commands--保存
此包假定您的代码将在2015年+环境。如果您使用的环境对此类语言功能和API的支持有限或不支持,您应该包括polyfill发货@wordpress/babel预设
在代码中。
存储命令命名空间的定义。
相关的
用法
从“@wordpress/commands”导入{store as commandsStore};从“@wordpress/data”导入{useDispatch};...const{open:openCommandCenter}=useDispatch(commandsStore);
类型
将命令附着到命令选项板。用于静态命令。
用法
从“@wordpress/commands”导入{useCommand};从“@wordpress/icons”导入{plus};使用命令({name:“myplugin/my命令名”,label:__('添加新帖子'),图标:加号,回调:({close})=>{document.location.href='post-new.php';close();},} );
参数
- 命令
导入(“../store/actions”)。WP命令配置
:命令配置。
将命令加载器附着到命令选项板。用于动态命令。
用法
从“@wordpress/commands”导入{useCommandLoader};从“@wordpress/icons”导入{post、page、layout、symbolFilled};常量图标={帖子,第页,wp_template:布局,wp_template_part:符号填充,};函数usePageSearchCommandLoader({search}){//检索“搜索”术语的页面。const{records,isLoading}=useSelect((select)=>{const{getEntityRecords}=select(coreStore);常量查询={搜索:!!搜索?搜索:未定义,每_页:10,orderby:搜索?'相关性':'日期',};返回{记录:getEntityRecords('postType','page',query),正在加载:!选择(coreStore).hasFinishedResolution('获取实体记录',“postType”,“page”,查询]),};},[搜索]);//创建命令。const命令=useMemo(()=>{return(records??[]).slice(0,10).map((record)=>{返回{名称:记录。标题?。呈现+“”+记录id,标签:记录。标题?。提供? 记录。标题?。提供:__('(无标题)'),icon:图标[postType],回调:({close})=>{常量参数={职位类型,postId:record.id,…额外参数,};document.location=addQueryArgs('site-editor.php',args);关闭();},};} );},[记录,历史]);返回{命令,正在加载,};}使用CommandLoader({name:'我的插件/页面搜索',hook:usePageSearchCommandLoader,} );
参数
- 装载机
导入(“../store/actions”)。WPCommandLoaderConfig(WP命令加载程序配置)
:命令加载器配置。
这是古腾堡项目的一部分。该项目组织为单回购。它由多个独立的软件包组成,每个包都有特定的用途。此monorepo中的包发布到净现值并由使用WordPress(文字出版社)以及其他软件项目。
要了解更多关于对这个包或古腾堡整体贡献的信息,请阅读该项目的主要内容投稿人指南.