命名空间:core/edit-widgets。
选择器
canInsertBlockInWidgetArea
如果区块可以插入到小工具区域中,则返回 true。
参数
- state
Array:小工具区域的打开状态。 - blockName
string:要插入的区块的名称。
返回值
boolean:如果区块可以插入到小工具区域中,则为 true。
getEditedWidgetAreas
返回所有已编辑的小工具区域实体记录。
返回值
Object[]:已编辑的小工具区域实体记录列表。
getIsWidgetAreaOpen
获取小工具区域是否已打开。
参数
- state
Array:小工具区域的打开状态。 - clientId
string:小工具区域的 clientId。
返回值
boolean:如果小工具区域已打开,则为 true。
getParentWidgetAreaBlock
根据子级 client id,返回父级小工具区域区块。
参数
- clientId
string:小工具区域中某个区块的 client 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
如果插入器已打开,则返回 true。
参数
- state
Object:全局应用状态。
返回值
boolean:插入器是否已打开。
isListViewOpened
如果列表视图已打开,则返回 true。
参数
- state
Object:全局应用状态。
返回值
boolean:列表视图是否已打开。
isSavingWidgetAreas
如果有任何小工具区域正在被保存,则返回 true。
返回值
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>{ __( 'Widget saving is locked' ) }</p>
) : (
<p>{ __( 'Widget saving is not locked' ) }</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' ) }>
{ __( 'Lock Widget Saving' ) }
</Button>
);
};
参数
- lockName
string:锁定名称。
返回值
Object:动作对象
moveBlockToWidgetArea
用于处理在小工具区域之间移动区块的动作
参数
- clientId
string:要移动的区块的 clientId。 - 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:要插入到的根 client ID。 - value.insertionIndex
number:要插入到的索引位置。
返回值
Object:动作对象。
setIsListViewOpened
返回一个用于打开/关闭列表视图的动作对象。
参数
- isOpen
boolean:一个表示列表视图应被打开还是关闭的布尔值。
返回值
Object:动作对象。
setIsWidgetAreaOpen
设置小工具区域的打开状态。
参数
- clientId
string:小工具区域的 clientId。 - isOpen
boolean:小工具区域是否应被打开。
返回值
Object:动作。
setWidgetAreasOpenState
设置所有小工具区域的打开状态。
参数
- widgetAreasOpenState
Object:所有小工具区域的打开状态。
返回值
Object:动作。
setWidgetIdForClientId
设置为特定 widgetId 存储的 clientId。
参数
- 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' ) }>
{ __( 'Unlock Widget Saving' ) }
</Button>
);
};
参数
- lockName
string:锁定名称。
返回值
Object:动作对象