7.1 KiB
7.1 KiB
编辑小工具
命名空间:core/edit-widgets
选择器
canInsertBlockInWidgetArea
判断是否可以将区块插入到小工具区域。
参数
- state
Array: 小工具区域的打开状态。 - blockName
string: 要插入的区块名称。
返回值
boolean: 如果区块可以插入到小工具区域则返回 true。
getEditedWidgetAreas
返回所有已编辑的小工具区域实体记录。
返回值
Object[]: 已编辑的小工具区域实体记录列表。
getIsWidgetAreaOpen
获取小工具区域是否处于打开状态。
参数
- state
Array: 小工具区域的打开状态。 - clientId
string: 小工具区域的客户端 ID。
返回值
boolean: 如果小工具区域处于打开状态则返回 true。
getParentWidgetAreaBlock
根据子级客户端 ID 返回父级小工具区域区块。
参数
- clientId
string: 小工具区域中某个区块的客户端 ID。
返回值
WPBlock: 小工具区域区块。
getReferenceWidgetBlocks
返回所有表示引用小工具的区块。
参数
- referenceWidgetName
string: 可选参数。如果指定,则只返回具有此名称的引用小工具。
返回值
Array: 表示引用小工具的所有区块列表。
getWidget
返回特定小工具 ID 的 API 小工具数据。
参数
- id
number: 小工具 ID。
返回值
Object: 特定小工具 ID 的 API 小工具数据。
getWidgetAreaForWidgetId
返回包含指定 widgetId 所标识区块的小工具区域。
参数
- widgetId
string: 小工具的 ID。
返回值
Object: 包含小工具区域的对象。
getWidgetAreas
返回所有 API 小工具区域。
返回值
Object[]: API 小工具区域列表。
getWidgets
返回所有 API 小工具。
返回值
Object[]: API 小工具列表。
isInserterOpened
判断插入器是否处于打开状态。
参数
- state
Object: 全局应用状态。
返回值
boolean: 插入器是否处于打开状态。
isListViewOpened
判断列表视图是否处于打开状态。
参数
- state
Object: 全局应用状态。
返回值
boolean: 列表视图是否处于打开状态。
isSavingWidgetAreas
判断是否有小工具区域正在被保存。
返回值
boolean: 如果有小工具区域正在被保存则返回 true,否则返回 false。
isWidgetSavingLocked
返回小工具保存是否被锁定。
用法
import { __ } from '@wordpress/i18n';
import { store as widgetStore } from '@wordpress/edit-widgets';
import { useSelect } from '@wordpress/data';
const ExampleComponent = () => {
const isSavingLocked = useSelect(
( select ) => select( widgetStore ).isWidgetSavingLocked(),
[]
);
return isSavingLocked ? (
<p>{ __( '小工具保存已被锁定' ) }</p>
) : (
<p>{ __( '小工具保存未被锁定' ) }</p>
);
};
参数
- state
Object: 全局应用状态。
返回值
boolean: 是否被锁定。
操作
closeGeneralSidebar
返回表示用户关闭侧边栏的操作对象。
返回值
Object: 操作创建器。
lockWidgetSaving
返回用于表示小工具保存被锁定的操作对象。
用法
import { store as widgetStore } from '@wordpress/edit-widgets';
import { useDispatch } from '@wordpress/data';
const ExampleComponent = () => {
const { lockWidgetSaving } = useDispatch( widgetStore );
return (
<Button onClick={ () => lockWidgetSaving( 'lockName' ) }>
{ __( '锁定小工具保存' ) }
</Button>
);
};
参数
- lockName
string: 锁名称。
返回值
Object: 操作对象。
moveBlockToWidgetArea
处理在小工具区域之间移动区块的操作。
参数
- clientId
string: 要移动区块的客户端 ID。 - widgetAreaId
string: 要将区块移动到的目标小工具区域 ID。
persistStubPost
将指定 ID 的存根文章持久化到核心数据存储中。该文章仅存在于内存中,不应通过 API 保存。
参数
- id
string: 文章 ID。 - blocks
Array: 文章应包含的区块。
返回值
Object: 文章对象。
saveEditedWidgetAreas
将已编辑小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
在成功或出错时创建 snackbar 通知。
返回值
Function: 操作创建器。
saveWidgetArea
将指定 ID 的小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
参数
- widgetAreaId
string: 要处理的小工具区域 ID。
返回值
Function: 操作创建器。
saveWidgetAreas
将指定小工具区域中的所有区块转换为小工具,并提交批量请求一次性保存所有内容。
参数
- widgetAreas
Object[]: 要保存的小工具区域。
返回值
Function: 操作创建器。
setIsInserterOpened
返回用于打开/关闭插入器的操作对象。
参数
- value
boolean|Object: 插入器应打开(true)还是关闭(false)。要指定插入点,请使用对象。 - value.rootClientId
string: 要插入的根客户端 ID。 - value.insertionIndex
number: 要插入的索引位置。
返回值
Object: 操作对象。
setIsListViewOpened
返回用于打开/关闭列表视图的操作对象。
参数
- isOpen
boolean: 表示列表视图应打开还是关闭的布尔值。
返回值
Object: 操作对象。
setIsWidgetAreaOpen
设置小工具区域的打开状态。
参数
- clientId
string: 小工具区域的客户端 ID。 - isOpen
boolean: 小工具区域是否应打开。
返回值
Object: 操作。
setWidgetAreasOpenState
设置所有小工具区域的打开状态。
参数
- widgetAreasOpenState
Object: 所有小工具区域的打开状态。
返回值
Object: 操作。
setWidgetIdForClientId
设置特定 widgetId 对应的客户端 ID。
参数
- clientId
number: 客户端 ID。 - widgetId
number: 小工具 ID。
返回值
Object: 操作。
unlockWidgetSaving
返回用于表示小工具保存已解锁的操作对象。
用法
import { store as widgetStore } from '@wordpress/edit-widgets';
import { useDispatch } from '@wordpress/data';
const ExampleComponent = () => {
const { unlockWidgetSaving } = useDispatch( widgetStore );
return (
<Button onClick={ () => unlockWidgetSaving( 'lockName' ) }>
{ __( '解锁小工具保存' ) }
</Button>
);
};
参数
- lockName
string: 锁名称。
返回值
Object: 操作对象。