命名空间: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:动作对象