### 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_ `对象`: 关于文章锁定状态、用户和随机数的详细信息。 _返回值_ - `对象`: 操作对象。 # 文章编辑器的数据 命名空间:`core/editor` ## 选择器 ### 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 ? (
{ __( '文章自动保存功能已被锁定' ) }
) : ({ __( '文章自动保存功能未锁定' ) }
); }; ``` **参数** - _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 ? ({ __( '文章保存功能已锁定' ) }
) : ({ __( '文章保存功能未锁定' ) }
); }; ``` _参数_ - _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。 ## 操作 ### 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`:操作对象。