gutenbergdocs/reference-guides/data/data-core-editor.md

1721 lines
34 KiB
Markdown
Raw Normal View History

2025-10-21 17:33:45 +00:00
### unlockPostAutosaving
用于解除文章自动保存锁定的操作。
_使用方法_
// 使用锁定键 `mylock` 解除文章自动保存锁定:
wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );
_参数_
- _lockName_ `字符串`: 锁定名称。
_返回值_
- `对象`: 操作对象。
### unlockPostSaving
用于解除文章保存锁定的操作。
_使用方法_
// 使用锁定键 `mylock` 解除文章保存锁定:
wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );
_参数_
- _lockName_ `字符串`: 锁定名称。
_返回值_
- `对象`: 操作对象。
### updateBlock
_相关_
- core/block-editor 存储中的 updateBlock。
### updateBlockAttributes
_相关_
- core/block-editor 存储中的 updateBlockAttributes。
### updateBlockListSettings
_相关_
- core/block-editor 存储中的 updateBlockListSettings。
### updateEditorSettings
未记录的声明。
### updatePost
> 自 Gutenberg 9.7.0 起**已弃用**。
返回一个操作对象,用于表示已接收到针对最新版本文章的更新补丁。
_返回值_
- `对象`: 操作对象。
### updatePostLock
用于锁定编辑器的操作。
_参数_
- _lock_ `对象`: 关于文章锁定状态、用户和随机数的详细信息。
_返回值_
- `对象`: 操作对象。
<!-- END TOKEN(Autogenerated actions|../../../packages/editor/src/store/actions.js) -->
# 文章编辑器的数据
命名空间:`core/editor`
## 选择器
<!-- START TOKEN(Autogenerated selectors|../../../packages/editor/src/store/selectors.js) -->
### canInsertBlockType
_相关项_
- 核心区块编辑器存储中的 canInsertBlockType
### canUserUseUnfilteredHTML
返回用户是否具有 unfiltered_html 权限。
_参数_
- _state_ `Object`: 编辑器状态
_返回值_
- `boolean`: 用户是否能够发布未过滤的 HTML
### didPostSaveRequestFail
如果之前的文章保存尝试失败则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态
_返回值_
- `boolean`: 文章是否保存失败
### didPostSaveRequestSucceed
如果之前的文章保存尝试成功则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态
_返回值_
- `boolean`: 文章是否成功保存
### getActivePostLock
返回当前的文章锁定状态。
_参数_
- _state_ `Object`: 全局应用状态
_返回值_
- `Object`: 锁定对象
### getAdjacentBlockClientId
_相关项_
- 核心区块编辑器存储中的 getAdjacentBlockClientId
### getAutosaveAttribute
> 自 5.6 版本起**弃用**。调用者应使用 '@wordpress/core-data' 包中的 `getAutosave( postType, postId, userId )` 选择器,并通过 getPostRawValue 访问返回的自动保存对象属性。
返回文章当前自动保存版本的属性值,如果文章没有自动保存则返回 null。
_参数_
- _state_ `Object`: 全局应用状态
- _attributeName_ `string`: 自动保存属性名称
_返回值_
- `*`: 自动保存属性值
### getBlock
_相关项_
- 核心区块编辑器存储中的 getBlock
### getBlockAttributes
_相关项_
- 核心区块编辑器存储中的 getBlockAttributes
### getBlockCount
_相关项_
- 核心区块编辑器存储中的 getBlockCount
### getBlockHierarchyRootClientId
_相关项_
- 核心区块编辑器存储中的 getBlockHierarchyRootClientId
### getBlockIndex
_相关项_
- 核心区块编辑器存储中的 getBlockIndex
### getBlockInsertionPoint
_相关项_
- 核心区块编辑器存储中的 getBlockInsertionPoint
### getBlockListSettings
_相关项_
- 核心区块编辑器存储中的 getBlockListSettings
### getBlockMode
_相关项_
- 核心区块编辑器存储中的 getBlockMode
### getBlockName
_相关项_
- 核心区块编辑器存储中的 getBlockName
### getBlockOrder
_相关项_
- 核心区块编辑器存储中的 getBlockOrder
### getBlockRootClientId
_相关项_
- 核心区块编辑器存储中的 getBlockRootClientId
### getBlocks
_相关项_
- 核心区块编辑器存储中的 getBlocks
### getBlocksByClientId
_相关项_
- 核心区块编辑器存储中的 getBlocksByClientId
### getBlockSelectionEnd
_相关项_
- 核心区块编辑器存储中的 getBlockSelectionEnd
### getBlockSelectionStart
_相关项_
- 核心区块编辑器存储中的 getBlockSelectionStart
### getClientIdsOfDescendants
_相关项_
- 核心区块编辑器存储中的 getClientIdsOfDescendants
### getClientIdsWithDescendants
_相关项_
- 核心区块编辑器存储中的 getClientIdsWithDescendants
### getCurrentPost
返回当前正在编辑的文章的最后已知保存状态,不包括未保存的编辑。如果文章尚未保存,则返回包含相关默认文章值的对象。
_参数_
- _state_ `Object`: 全局应用状态
_返回值_
- `Object`: 文章对象
### getCurrentPostAttribute
返回已保存文章的属性值。
_参数_
- _state_ `Object`: 全局应用状态
- _attributeName_ `string`: 文章属性名称
_返回值_
- `*`: 文章属性值
### getCurrentPostId
返回当前正在编辑的文章 ID如果文章尚未保存则返回 null。
_参数_
- _state_ `Object`: 全局应用状态
_返回值_
- `?(number|string)`: 当前文章 ID数字或模板别名字符串
### isEditedPostDirty
判断当前编辑会话是否存在未保存的数值。若编辑状态与已保存或新建文章状态一致则返回 false。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 是否存在未保存的数值。
### isEditedPostEmpty
判断被编辑文章是否包含内容。当文章至少包含一个可保存区块,或具有非空内容属性时视为有内容。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 文章是否包含内容。
### isEditedPostNew
判断当前编辑文章是否尚未保存。若文章已保存则返回 false。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 文章是否为新建状态。
### isEditedPostPublishable
判断正在编辑的文章是否可发布。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 文章是否可发布。
### isEditedPostSaveable
判断文章是否可保存。文章必须包含标题、摘要或非空内容才符合保存条件。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 文章是否可保存。
### isEditorPanelEnabled
判断指定面板是否启用。面板默认处于启用状态。
**参数**
- _state_ `Object`: 全局应用状态。
- _panelName_ `string`: 面板标识字符串。
**返回值**
- `boolean`: 面板是否启用。
### isEditorPanelOpened
判断指定面板是否处于展开状态。面板默认处于关闭状态。
**参数**
- _state_ `Object`: 全局应用状态。
- _panelName_ `string`: 面板标识字符串。
**返回值**
- `boolean`: 面板是否展开。
### isEditorPanelRemoved
判断指定面板是否被程序化移除。所有面板默认未被移除。
**参数**
- _state_ `Object`: 全局应用状态。
- _panelName_ `string`: 面板标识字符串。
**返回值**
- `boolean`: 面板是否被移除。
### isFirstMultiSelectedBlock
**关联项**
- core/block-editor 存储库中的 isFirstMultiSelectedBlock。
### isInserterOpened
判断插入器是否处于开启状态。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 插入器是否开启。
### isListViewOpened
判断列表视图是否处于开启状态。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 列表视图是否开启。
### isMultiSelecting
**关联项**
- core/block-editor 存储库中的 isMultiSelecting。
### isPermalinkEditable
判断固定链接是否可编辑。
**参数**
- _state_ `Object`: 编辑器状态。
**返回值**
- `boolean`: 固定链接是否可编辑。
### isPostAutosavingLocked
判断文章自动保存功能是否被锁定。
**使用示例**
```jsx
import { __ } from '@wordpress/i18n';
import { store as editorStore } from '@wordpress/editor';
import { useSelect } from '@wordpress/data';
const ExampleComponent = () => {
const isAutoSavingLocked = useSelect(
( select ) => select( editorStore ).isPostAutosavingLocked(),
[]
);
return isAutoSavingLocked ? (
<p>{ __( '文章自动保存功能已被锁定' ) }</p>
) : (
<p>{ __( '文章自动保存功能未锁定' ) }</p>
);
};
```
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 是否被锁定。
### isPostLocked
判断文章是否被锁定。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 是否被锁定。
### isPostLockTakeover
判断文章编辑权限是否被接管。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `boolean`: 编辑权限是否被接管。
### setIsInserterOpened
返回用于打开/关闭插入器的操作对象。
**参数**
- _value_ `boolean|Object`: 控制插入器应开启true还是关闭false。如需指定插入位置需传入对象参数。
- _value.rootClientId_ `string`: 插入位置的根客户端ID。
- _value.insertionIndex_ `number`: 插入位置的索引编号。
- _value.filterValue_ `string`: 用于筛选插入器结果的查询条件。
- _value.onSelect_ `Function`: 选中条目时的回调函数。
- _value.tab_ `string`: 插入器默认激活的标签页。
- _value.category_ `string`: 插入器初始化的分类目录。
**返回值**
- `Object`: 操作对象。
### setIsListViewOpened
返回用于打开/关闭列表视图的操作对象。
**参数**
- _isOpen_ `boolean`: 控制列表视图开启或关闭的布尔值。
**返回值**
- `Object`: 操作对象。
### setRenderingMode
返回用于设置文章编辑器渲染模式的操作。我们支持以下渲染模式:
- `post-only`:此模式从模板中提取文章区块并仅渲染这些区块,使用户能够在无模板包裹的情况下独立编辑文章/页面。
- `template-locked`:此模式同时渲染模板区块和文章区块,其中模板区块被锁定不可编辑,而文章区块保持可编辑状态。
**参数**
- _mode_ `string`: 渲染模式(可选 'post-only' 或 'template-locked')。
### setTemplateValidity
**关联项**
- core/block-editor 存储库中的 setTemplateValidity 方法。
### setupEditor
返回用于标识编辑器已通过指定文章对象和编辑器设置完成初始化的操作生成器。
**参数**
- _post_ `Object`: 文章对象。
- _edits_ `Object`: 初始编辑属性对象。
- _template_ `[Array]`: 区块模板。
### setupEditorState
> **已弃用**
初始化编辑器状态。
**参数**
- _post_ `Object`: 文章对象。
### showInsertionPoint
**关联项**
- core/block-editor 存储库中的 showInsertionPoint 方法。
### startMultiSelect
**关联项**
- core/block-editor 存储库中的 startMultiSelect 方法。
### startTyping
**关联项**
- core/block-editor 存储库中的 startTyping 方法。
### stopMultiSelect
**关联项**
- core/block-editor 存储库中的 stopMultiSelect 方法。
### stopTyping
**关联项**
- core/block-editor 存储库中的 stopTyping 方法。
### switchEditorMode
触发用于切换编辑器模式的操作。
**参数**
- _mode_ `string`: 编辑器模式。
### synchronizeTemplate
**关联项**
- core/block-editor 存储库中的 synchronizeTemplate 方法。
### toggleBlockMode
**关联项**
- core/block-editor 存储库中的 toggleBlockMode 方法。
### toggleDistractionFree
切换无干扰模式的操作。该模式下由于z-index值设置侧边栏将无法关闭因此要求不存在任何侧边栏。
**参数**
- _options_ `[Object]`: 可选配置对象
- _options.createNotice_ `[boolean]`: 是否创建通知
### toggleEditorPanelEnabled
返回用于启用或禁用编辑器面板的操作对象。
**参数**
- _panelName_ `string`: 标识目标面板的唯一字符串。
**返回值**
- `Object`: 操作对象。
### toggleEditorPanelOpened
开启已关闭面板,关闭已开启面板。
**参数**
- _panelName_ `string`: 标识目标面板的唯一字符串。
### togglePublishSidebar
返回用于标识用户切换发布侧边栏状态的操作对象。
**返回值**
- `Object`: 操作对象
### toggleSelection
**关联项**
- core/block-editor 存储库中的 toggleSelection 方法。
### toggleSpotlightMode
切换聚光灯模式视图选项的操作。
### toggleTopToolbar
切换顶部工具栏视图选项的操作。
### trashPost
将编辑器中当前文章移至垃圾箱的操作。
### undo
从撤销历史记录中弹出最近记录并执行撤销操作。
### getCurrentPostLastRevisionId
返回当前编辑文章的最近修订版本ID若文章无修订版本则返回 null。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `?number`: 最近修订版本ID。
### getCurrentPostRevisionsCount
返回当前编辑文章的修订版本数量。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `number`: 修订版本数量。
### getCurrentPostType
返回当前编辑文章的文章类型。
**使用示例**
```js
const currentPostType = wp.data.select( 'core/editor' ).getCurrentPostType();
```
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string`: 文章类型。
### getCurrentTemplateId
返回当前正在渲染/编辑的模板ID。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `?string`: 模板ID。
### getDeviceType
返回当前编辑画布的设备类型。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string`: 设备类型。
### getEditedPostAttribute
返回正在编辑文章的单个属性,优先返回未保存的编辑值(若存在),否则回退到最后已知的已保存状态属性值。
**使用示例**
```js
// 基于特色媒体ID获取特定媒体尺寸
// 注意:可将 sizes?.large 替换为任何已注册尺寸
const getFeaturedMediaUrl = useSelect( ( select ) => {
const getFeaturedMediaId =
select( 'core/editor' ).getEditedPostAttribute( 'featured_media' );
const media = select( 'core' ).getEntityRecord(
'postType',
'attachment',
getFeaturedMediaId
);
return (
media?.media_details?.sizes?.large?.source_url ||
media?.source_url ||
''
);
}, [] );
```
**参数**
- _state_ `Object`: 全局应用状态。
- _attributeName_ `string`: 文章属性名称。
**返回值**
- `*`: 文章属性值。
### getEditedPostContent
返回正在编辑文章的内容。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string`: 文章内容。
### getEditedPostPreviewLink
返回文章预览链接。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string | undefined`: 预览链接。
### getEditedPostSlug
返回正在编辑文章的别名 slug优先返回手动编辑的值若存在其次是当前文章标题的格式化版本最后是文章ID。
**参数**
- _state_ `Object`: 编辑器状态。
**返回值**
- `string`: 编辑器中显示的当前别名。
### getEditedPostVisibility
返回正在编辑文章的当前可见性,若未保存值与已保存文章不同则优先返回未保存值。返回值为 "private"、"password" 或 "public" 之一。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string`: 文章可见性。
### getEditorBlocks
返回当前区块列表。
**参数**
- _state_ `Object`:
**返回值**
- `Array`: 区块列表。
### getEditorMode
返回当前编辑模式。
**参数**
- _state_ `Object`: 全局应用状态。
**返回值**
- `string`: 编辑模式。
### getEditorSelection
返回当前选区。
**参数**
- _state_ `Object`:
**返回值**
- `WPBlockSelection`: 选区结束位置。
### getEditorSelectionEnd
> 自 Gutenberg 10.0.0 版本起**弃用**。
返回当前选区结束位置。
**参数**
- _state_ `Object`:
**返回值**
- `WPBlockSelection`: 选区结束位置。
### getEditorSelectionStart
> 自 Gutenberg 10.0.0 版本起**弃用**。
返回当前选区起始位置。
**参数**
- _state_ `Object`:
**返回值**
- `WPBlockSelection`: 选区起始位置。
### getEditorSettings
返回文章编辑器设置。
**参数**
- _state_ `Object`: 编辑器状态。
**返回值**
- `Object`: 编辑器设置对象。
### getFirstMultiSelectedBlockClientId
_相关链接_
- core/block-editor 存储中的 getFirstMultiSelectedBlockClientId。
### getGlobalBlockCount
_相关链接_
- core/block-editor 存储中的 getGlobalBlockCount。
### getInserterItems
_相关链接_
- core/block-editor 存储中的 getInserterItems。
### getLastMultiSelectedBlockClientId
_相关链接_
- core/block-editor 存储中的 getLastMultiSelectedBlockClientId。
### getMultiSelectedBlockClientIds
_相关链接_
- core/block-editor 存储中的 getMultiSelectedBlockClientIds。
### getMultiSelectedBlocks
_相关链接_
- core/block-editor 存储中的 getMultiSelectedBlocks。
### getMultiSelectedBlocksEndClientId
_相关链接_
- core/block-editor 存储中的 getMultiSelectedBlocksEndClientId。
### getMultiSelectedBlocksStartClientId
_相关链接_
- core/block-editor 存储中的 getMultiSelectedBlocksStartClientId。
### getNextBlockClientId
_相关链接_
- core/block-editor 存储中的 getNextBlockClientId。
### getPermalink
返回文章的固定链接。
_参数_
- _state_ `Object`:编辑器状态。
_返回值_
- `?string`:固定链接,如果文章不可查看则返回 null。
### getPermalinkParts
返回文章的固定链接,并将其拆分为三个部分:前缀、文章名称和后缀。
_参数_
- _state_ `Object`:编辑器状态。
_返回值_
- `Object`:包含固定链接的前缀、文章名称和后缀的对象,如果文章不可查看则返回 null。
### getPostEdits
返回在编辑器中已更改但尚未保存的文章值。
_参数_
- _state_ `Object`:全局应用状态。
_返回值_
- `Object`:包含未保存编辑的键值对对象。
### getPostLockUser
返回关于文章锁定用户的详细信息。
_参数_
- _state_ `Object`:全局应用状态。
_返回值_
- `Object`:用户对象。
### getPostTypeLabel
根据当前文章返回文章类型标签。
_参数_
- _state_ `Object`:全局应用状态。
_返回值_
- `string|undefined`:文章类型标签(如果可用),否则返回 undefined。
### getPreviousBlockClientId
_相关链接_
- core/block-editor 存储中的 getPreviousBlockClientId。
### getRenderingMode
返回文章编辑器的渲染模式。
_参数_
- _state_ `Object`:编辑器状态。
_返回值_
- `string`:渲染模式。
### getSelectedBlock
_相关链接_
- core/block-editor 存储中的 getSelectedBlock。
### getSelectedBlockClientId
_相关链接_
- core/block-editor 存储中的 getSelectedBlockClientId。
### getSelectedBlockCount
_相关链接_
- core/block-editor 存储中的 getSelectedBlockCount。
### getSelectedBlocksInitialCaretPosition
_相关链接_
- core/block-editor 存储中的 getSelectedBlocksInitialCaretPosition。
### getStateBeforeOptimisticTransaction
> 自 Gutenberg 9.7.0 起**已弃用**。
返回指定乐观事务 ID 之前的状态对象,如果找不到与给定 ID 对应的事务,则返回 `null`
### getSuggestedPostFormat
返回当前文章的推荐文章格式,仅当文章内存在单个块且该块类型已知与默认文章格式匹配时才推断。如果无法确定格式,则返回 null。
_返回值_
- `?string`:推荐的文章格式。
### getTemplate
_相关链接_
- core/block-editor 存储中的 getTemplate。
### getTemplateLock
_相关链接_
- core/block-editor 存储中的 getTemplateLock。
### hasChangedContent
如果内容包含未保存的更改,则返回 true否则返回 false。
_参数_
- _state_ `Object`:编辑器状态。
_返回值_
- `boolean`:内容是否包含未保存的更改。
### hasEditorRedo
如果存在任何未来的编辑器历史快照,则返回 true否则返回 false。
_参数_
- _state_ `Object`:全局应用状态。
_返回值_
- `boolean`:是否存在重做历史记录。
### hasEditorUndo
如果存在任何过去的编辑器历史快照,则返回 true否则返回 false。
_参数_
- _state_ `Object`:全局应用状态。
_返回值_
- `boolean`:是否存在撤销历史记录。
### hasInserterItems是否存在插入项
**相关链接**
- 核心区块编辑器存储中的 hasInserterItems
### hasMultiSelection是否存在多选状态
**相关链接**
- 核心区块编辑器存储中的 hasMultiSelection
### hasNonPostEntityChanges是否存在非文章类实体变更
当存在除当前编辑文章外的其他实体未保存编辑时返回 true否则返回 false。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 是否存在未保存编辑
### hasSelectedBlock是否存在选中区块
**相关链接**
- 核心区块编辑器存储中的 hasSelectedBlock
### hasSelectedInnerBlock是否存在选中内部区块
**相关链接**
- 核心区块编辑器存储中的 hasSelectedInnerBlock
### inSomeHistory历史记录检查
> 自 Gutenberg 9.7.0 起**弃用**
当存在待提交的乐观事务,且其前置状态满足给定判定函数时返回 true。
### isAncestorMultiSelected是否多选父级区块
**相关链接**
- 核心区块编辑器存储中的 isAncestorMultiSelected
### isAutosavingPost是否正在自动保存文章
如果文章正在自动保存则返回 true否则返回 false。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 文章是否正在自动保存
### isBlockInsertionPointVisible是否显示区块插入点
**相关链接**
- 核心区块编辑器存储中的 isBlockInsertionPointVisible
### isBlockMultiSelected是否多选区块
**相关链接**
- 核心区块编辑器存储中的 isBlockMultiSelected
### isBlockSelected是否选中区块
**相关链接**
- 核心区块编辑器存储中的 isBlockSelected
### isBlockValid区块是否有效
**相关链接**
- 核心区块编辑器存储中的 isBlockValid
### isBlockWithinSelection区块是否处于选中范围内
**相关链接**
- 核心区块编辑器存储中的 isBlockWithinSelection
### isCaretWithinFormattedText光标是否在格式化文本内
**相关链接**
- 核心区块编辑器存储中的 isCaretWithinFormattedText
### isCleanNewPost是否为全新未编辑文章
当当前编辑会话不存在未保存值,且当前编辑文章为全新文章(从未保存过)时返回 true。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 是否为全新文章且存在未保存值
### isCurrentPostPending当前文章是否待审核
如果文章正在等待审核则返回 true。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 当前文章是否待审核
### isCurrentPostPublished当前文章是否已发布
如果当前文章已发布则返回 true。
**参数**
- _state_ `Object`: 全局应用状态
- _currentPost_ `[Object]`: 用于绕过注册选择器的显式当前文章对象
**返回值**
- `boolean`: 文章是否已发布
### isCurrentPostScheduled当前文章是否已排程
如果文章已设置发布排程则返回 true。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 当前文章是否已设置发布排程
### isDeletingPost是否正在删除文章
如果文章当前正在被删除则返回 true否则返回 false。
**参数**
- _state_ `Object`: 编辑器状态
**返回值**
- `boolean`: 文章是否正在被删除
### isEditedPostAutosaveable编辑中的文章是否可自动保存
如果文章可自动保存则返回 true否则返回 false。
**参数**
- _state_ `Object`: 全局应用状态
- _autosave_ `Object`: 来自 REST API 的原始自动保存对象
**返回值**
- `boolean`: 文章是否可自动保存
### isEditedPostBeingScheduled编辑中的文章是否正在排程
如果正在编辑的文章正在设置排程则返回 true优先使用未保存的状态值。
**参数**
- _state_ `Object`: 全局应用状态
**返回值**
- `boolean`: 文章是否已发布
### isEditedPostDateFloating编辑中的文章是否为浮动日期
返回当前文章是否应被视为具有"浮动"日期(即将会"立即"发布而非设定具体发布时间)。
与 PHP 后端不同,当数据库中存在 0000-00-00T00:00:00 占位符时REST API 会返回完整的日期字符串。为推断文章是否设置为"立即"发布,我们会检查日期与修改日期是否相同。
**参数**
- _state_ `Object`: 编辑器状态
**返回值**
- `boolean`: 编辑中的文章是否具有浮动日期值
### isPostSavingLocked文章保存是否锁定
返回文章保存功能是否被锁定。
_使用方法_
```jsx
import { __ } from '@wordpress/i18n';
import { store as editorStore } from '@wordpress/editor';
import { useSelect } from '@wordpress/data';
const ExampleComponent = () => {
const isSavingLocked = useSelect(
( select ) => select( editorStore ).isPostSavingLocked(),
[]
);
return isSavingLocked ? (
<p>{ __( '文章保存功能已锁定' ) }</p>
) : (
<p>{ __( '文章保存功能未锁定' ) }</p>
);
};
```
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 是否锁定。
### isPreviewingPost是否正在预览文章
如果文章正在预览中则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 是否正在预览文章。
### isPublishingPost是否正在发布文章
如果文章正在发布中则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 是否正在发布文章。
### isPublishSidebarEnabled是否启用发布侧边栏
返回当用户点击“发布”按钮时,是否应显示或跳过预发布面板。
_返回值_
- `boolean`: 是否应显示预发布面板。
### isPublishSidebarOpened发布侧边栏是否打开
如果发布侧边栏已打开则返回 true。
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 发布侧边栏是否打开。
### isSavingNonPostEntityChanges是否正在保存非文章实体更改
如果当前正在保存非文章实体则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 是否正在保存非文章实体。
### isSavingPost是否正在保存文章
如果当前正在保存文章则返回 true否则返回 false。
_参数_
- _state_ `Object`: 全局应用状态。
_返回值_
- `boolean`: 是否正在保存文章。
### isSelectionEnabled是否启用选择功能
_相关_
- core/block-editor 存储中的 isSelectionEnabled。
### isTyping是否正在输入
_相关_
- core/block-editor 存储中的 isTyping。
### isValidTemplate是否为有效模板
_相关_
- core/block-editor 存储中的 isValidTemplate。
<!-- END TOKEN(Autogenerated selectors|../../../packages/editor/src/store/selectors.js) -->
## 操作
<!-- START TOKEN(Autogenerated actions|../../../packages/editor/src/store/actions.js) -->
### autosave自动保存
自动保存当前文章的操作。包括服务器端自动保存(默认)和客户端(即本地)自动保存(例如在 Web 上,文章可能会提交到会话存储)。
_参数_
- _options_ `[Object]`: 用于标识自动保存的额外标志。
- _options.local_ `[boolean]`: 是否执行本地自动保存。
### clearSelectedBlock清除选中区块
_相关_
- core/block-editor 存储中的 clearSelectedBlock。
### closePublishSidebar关闭发布侧边栏
返回用于通知用户已关闭发布侧边栏的操作对象。
_返回值_
- `Object`: 操作对象。
### createUndoLevel创建撤销层级
> **已弃用** 自 WordPress 6.0 起
创建撤销历史记录的操作。
### disablePublishSidebar禁用发布侧边栏
禁用发布侧边栏。
### editPost编辑文章
返回用于通知文章属性已被编辑的操作对象。
_使用方法_
```js
// 更新文章标题
wp.data.dispatch( 'core/editor' ).editPost( { title: `${ newTitle }` } );
```
_参数_
- _edits_ `Object`: 要编辑的文章属性。
- _options_ `[Object]`: 编辑选项。
_返回值_
- `Object`: 操作对象。
### enablePublishSidebar启用发布侧边栏
启用发布侧边栏。
### enterFormattedText进入格式化文本
_相关_
- core/block-editor 存储中的 enterFormattedText。
### exitFormattedText退出格式化文本
_相关_
- core/block-editor 存储中的 exitFormattedText。
### hideInsertionPoint隐藏插入点
_相关_
- core/block-editor 存储中的 hideInsertionPoint。
### insertBlock插入区块
_相关_
- core/block-editor 存储中的 insertBlock。
### insertBlocks插入多个区块
_相关_
- core/block-editor 存储中的 insertBlocks。
### insertDefaultBlock插入默认区块
**相关项**
- core/block-editor 存储中的 insertDefaultBlock。
### lockPostAutosaving锁定文章自动保存
用于锁定文章自动保存的操作。
**用法**
// 使用锁定键 `mylock` 锁定文章自动保存:
wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );
**参数**
- _lockName_ `string`:锁定名称。
**返回值**
- `Object`:操作对象。
### lockPostSaving锁定文章保存
用于锁定文章保存的操作。
**用法**
const { subscribe } = wp.data;
const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );
// 仅允许发布设置为未来日期的文章。
if ( 'publish' !== initialPostStatus ) {
// 跟踪锁定状态。
let locked = false;
// 监听发布事件。
let unssubscribe = subscribe( () => {
const currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );
if ( 'publish' !== currentPostStatus ) {
// 比较文章日期与当前日期,如果日期不在未来,则锁定文章。
const postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );
const currentDate = new Date();
if ( postDate.getTime() <= currentDate.getTime() ) {
if ( ! locked ) {
locked = true;
wp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );
}
} else {
if ( locked ) {
locked = false;
wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );
}
}
}
} );
}
**参数**
- _lockName_ `string`:锁定名称。
**返回值**
- `Object`:操作对象。
### mergeBlocks合并区块
**相关项**
- core/block-editor 存储中的 mergeBlocks。
### moveBlocksDown下移区块
**相关项**
- core/block-editor 存储中的 moveBlocksDown。
### moveBlocksUp上移区块
**相关项**
- core/block-editor 存储中的 moveBlocksUp。
### moveBlockToPosition移动区块至指定位置
**相关项**
- core/block-editor 存储中的 moveBlockToPosition。
### multiSelect多选
**相关项**
- core/block-editor 存储中的 multiSelect。
### openPublishSidebar打开发布侧边栏
返回一个操作对象,用于表示用户打开了发布侧边栏。
**返回值**
- `Object`:操作对象。
### receiveBlocks接收区块
**相关项**
- core/block-editor 存储中的 receiveBlocks。
### redo重做
用于恢复撤销历史中最后弹出的状态的操作。
### refreshPost刷新文章
> **已弃用** 自 WordPress 6.0 起。
用于刷新当前文章的操作。
### removeBlock移除区块
**相关项**
- core/block-editor 存储中的 removeBlock。
### removeBlocks移除多个区块
**相关项**
- core/block-editor 存储中的 removeBlocks。
### removeEditorPanel移除编辑器面板
返回一个操作对象,用于从编辑器中移除一个面板。
**参数**
- _panelName_ `string`:标识要移除的面板的字符串。
**返回值**
- `Object`:操作对象。
### replaceBlock替换区块
**相关项**
- core/block-editor 存储中的 replaceBlock。
### replaceBlocks替换多个区块
**相关项**
- core/block-editor 存储中的 replaceBlocks。
### resetBlocks重置区块
**相关项**
- core/block-editor 存储中的 resetBlocks。
### resetEditorBlocks重置编辑器区块
返回一个操作对象,用于表示区块已更新。
**参数**
- _blocks_ `Array`:区块数组。
- _options_ `[Object]`:可选选项。
### resetPost重置文章
> **已弃用** 自 WordPress 6.0 起。
返回一个操作对象,用于表示已接收到文章的最新版本(通过初始化或保存)。
### savePost保存文章
用于保存编辑器中当前文章的操作。
**参数**
- _options_ `[Object]`:选项。
### selectBlock选择区块
**相关项**
- core/block-editor 存储中的 selectBlock。
### setDeviceType设置设备类型
用于更改编辑画布宽度的操作。
**参数**
- _deviceType_ `string`:设备类型。
**返回值**
- `Object`:操作对象。
### setEditedPost设置编辑中的文章
返回一个操作,用于设置当前文章类型和文章 ID。
**参数**
- _postType_ `string`:文章类型。
- _postId_ `string`:文章 ID。
**返回值**
- `Object`:操作对象。