gutenbergdocs/docs/reference-guides/data/data-core-editor.md
2025-10-22 01:40:18 +08:00

34 KiB
Raw Blame History

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

判断文章自动保存功能是否被锁定。

使用示例

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

返回当前编辑文章的文章类型。

使用示例

const currentPostType = wp.data.select( 'core/editor' ).getCurrentPostType();

参数

  • state Object: 全局应用状态。

返回值

  • string: 文章类型。

getCurrentTemplateId

返回当前正在渲染/编辑的模板ID。

参数

  • state Object: 全局应用状态。

返回值

  • ?string: 模板ID。

getDeviceType

返回当前编辑画布的设备类型。

参数

  • state Object: 全局应用状态。

返回值

  • string: 设备类型。

getEditedPostAttribute

返回正在编辑文章的单个属性,优先返回未保存的编辑值(若存在),否则回退到最后已知的已保存状态属性值。

使用示例

// 基于特色媒体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: 文章内容。

返回文章预览链接。

参数

  • 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。

返回文章的固定链接。

参数

  • 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文章保存是否锁定

返回文章保存功能是否被锁定。

使用方法

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。

操作

autosave自动保存

自动保存当前文章的操作。包括服务器端自动保存(默认)和客户端(即本地)自动保存(例如在 Web 上,文章可能会提交到会话存储)。

参数

  • options [Object]: 用于标识自动保存的额外标志。
  • options.local [boolean]: 是否执行本地自动保存。

clearSelectedBlock清除选中区块

相关

  • core/block-editor 存储中的 clearSelectedBlock。

closePublishSidebar关闭发布侧边栏

返回用于通知用户已关闭发布侧边栏的操作对象。

返回值

  • Object: 操作对象。

createUndoLevel创建撤销层级

已弃用 自 WordPress 6.0 起

创建撤销历史记录的操作。

disablePublishSidebar禁用发布侧边栏

禁用发布侧边栏。

editPost编辑文章

返回用于通知文章属性已被编辑的操作对象。

使用方法

// 更新文章标题
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:操作对象。