title: "文章编辑器的数据" post_status: publish comment_status: open taxonomy: category: - gutenberg-docs post_tag: - Data - Reference Guides - Repos


文章编辑器的数据

命名空间:core/editor

选择器

canInsertBlockType

相关

canUserUseUnfilteredHTML

返回用户是否具有 unfiltered_html 权限。

参数

返回

didPostSaveRequestFail

如果之前尝试过保存文章但失败了,则返回 true,否则返回 false。

参数

返回值

didPostSaveRequestSucceed

如果之前尝试的发布保存操作成功,则返回 true,否则返回 false。

参数

返回值

getActivePostLock

返回当前活动的文章锁定。

参数

返回值

getAdjacentBlockClientId

相关

getAutosaveAttribute

已弃用 自 5.6 版本起。调用者应使用 '@wordpress/core-data' 包中的 getAutosave( postType, postId, userId ) 选择器,并通过 getPostRawValue 访问返回的自动保存对象的属性。

返回文章当前自动保存修订版本的属性值,如果文章没有自动保存则返回 null。

参数

返回值

getBlock

相关

getBlockAttributes

相关

getBlockCount

相关

getBlockHierarchyRootClientId

相关

getBlockIndex

相关

getBlockInsertionPoint

相关

getBlockListSettings

相关

getBlockMode

相关

getBlockName

相关

getBlockOrder

相关

getBlockRootClientId

相关

getBlocks

相关

getBlocksByClientId

相关

getBlockSelectionEnd

相关

getBlockSelectionStart

相关

getClientIdsOfDescendants

相关

getClientIdsWithDescendants

相关

getCurrentPost

返回当前正在编辑的文章在其最后已知的已保存状态,不包括未保存的编辑。如果文章尚未保存,则返回包含相关默认文章值的对象。

参数

返回

getCurrentPostAttribute

返回已保存文章的属性值。

参数

返回值

getCurrentPostId

返回当前正在编辑的文章 ID,如果文章尚未保存则返回 null。

参数

返回值

getCurrentPostLastRevisionId

返回当前正在编辑的文章的最新修订版本 ID,如果文章没有修订版本则返回 null。

参数

返回值

getCurrentPostRevisionsCount

返回当前正在编辑的文章的修订版本数量。

参数

返回值

getCurrentPostType

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

用法

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

参数

返回值

getCurrentTemplateId

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

参数

返回值

getDeviceType

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

参数

返回值

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 ||
        ''
    );
}, [] );

参数

返回值

getEditedPostContent

返回正在编辑的文章内容。

参数

返回值

返回文章预览链接

参数

返回值

getEditedPostSlug

返回正在编辑的文章的别名(slug),优先选择手动编辑的值(如果存在),其次是当前文章标题的清理版本,最后是文章 ID。

参数

返回值

getEditedPostVisibility

返回正在编辑文章的当前可见性,如果未保存值与已保存文章不同,则优先使用未保存值。返回值为 "private"、"password" 或 "public" 之一。

参数

返回值

getEditorBlocks

返回当前区块列表。

参数

返回值

getEditorMode

返回当前编辑模式。

参数

返回值

getEditorSelection

返回当前选区。

参数

返回值

getEditorSelectionEnd

已弃用 自 Gutenberg 10.0.0 版本起。

返回当前选区结束位置。

参数

返回值

getEditorSelectionStart

已弃用 自 Gutenberg 10.0.0 版本起。

返回当前选区起始位置。

参数

返回值

getEditorSettings

返回文章编辑器设置。

参数

返回值

getFirstMultiSelectedBlockClientId

相关

getGlobalBlockCount

相关

getInserterItems

相关

getLastMultiSelectedBlockClientId

相关

getMultiSelectedBlockClientIds

相关

getMultiSelectedBlocks

相关

getMultiSelectedBlocksEndClientId

相关

getMultiSelectedBlocksStartClientId

相关

getNextBlockClientId

相关

返回文章的固定链接。

参数

返回值

getPermalinkParts

返回文章的固定链接,并将其拆分为三个部分:前缀、文章名称和后缀。

参数

返回值

getPostEdits

返回在编辑器中已更改但尚未保存的任何文章值。

参数

返回值

getPostLockUser

返回关于文章锁定用户的详细信息。

参数

返回值

getPostTypeLabel

根据当前文章返回文章类型标签。

参数

返回值

getPreviousBlockClientId

相关

getRenderingMode

返回文章编辑器的渲染模式。

参数

返回值

getSelectedBlock

相关

getSelectedBlockClientId

相关

getSelectedBlockCount

相关

getSelectedBlocksInitialCaretPosition

相关

getStateBeforeOptimisticTransaction

已弃用,自 Gutenberg 9.7.0 版本起。

返回指定乐观事务 ID 之前的状态对象,如果找不到与给定 ID 对应的事务,则返回 null

getSuggestedPostFormat

返回当前文章的推荐文章格式,仅当文章内存在单个区块且该区块类型已知与默认文章格式匹配时才推断得出。若无法确定格式,则返回 null。

返回值

getTemplate

相关

getTemplateLock

相关

hasChangedContent

如果内容包含未保存的更改则返回 true,否则返回 false。

参数

返回值

hasEditorRedo

如果存在任何未来的编辑器历史快照,则返回 true,否则返回 false。

参数

返回值

hasEditorUndo

如果存在任何过去的编辑器历史快照,则返回 true,否则返回 false。

参数

返回值

hasInserterItems

相关

hasMultiSelection

相关

hasNonPostEntityChanges

如果存在除编辑器文章外的其他实体的未保存编辑,则返回 true,否则返回 false。

参数

返回值

hasSelectedBlock

相关

hasSelectedInnerBlock

相关

inSomeHistory

已弃用 自 Gutenberg 9.7.0 起。

如果存在待提交的乐观事务,且其先前状态满足给定的谓词函数,则返回 true。

isAncestorMultiSelected

相关

isAutosavingPost

如果文章正在自动保存则返回 true,否则返回 false。

参数

返回值

isBlockInsertionPointVisible

相关

isBlockMultiSelected

相关

isBlockSelected

相关

isBlockValid

相关

isBlockWithinSelection

相关

isCaretWithinFormattedText

相关

isCleanNewPost

如果当前编辑会话没有未保存的值,并且当前编辑的文章是新的(之前从未保存过),则返回 true。

参数

返回值

isCollaborationEnabledForCurrentPost

返回当前文章是否启用了协作功能。

返回值

isCurrentPostPending

如果文章正在等待审核,则返回 true。

参数

返回值

isCurrentPostPublished

如果当前文章已发布则返回 true。

参数

返回值

isCurrentPostScheduled

如果文章已安排发布,则返回 true。

参数

返回值

isDeletingPost

如果文章当前正在被删除,则返回 true,否则返回 false。

参数

返回值

isEditedPostAutosaveable

如果文章可以自动保存,则返回 true,否则返回 false。

参数

返回值

isEditedPostBeingScheduled

如果正在编辑的文章正在被安排发布,则返回 true。优先使用未保存的状态值。

参数

返回值

isEditedPostDateFloating

返回当前文章是否应被视为具有“浮动”日期(即它将“立即”发布,而非在设定的时间)。

与 PHP 后端不同,REST API 会为数据库中存在 0000-00-00T00:00:00 占位符的文章返回完整的日期字符串。为了推断文章是否设置为“立即”发布,我们会检查日期和修改日期是否相同。

参数

返回

isEditedPostDirty

如果当前编辑会话存在未保存的值,则返回 true;如果编辑状态与已保存或新文章的状态匹配,则返回 false。

参数

返回值

isEditedPostEmpty

如果编辑后的文章有内容则返回 true。当文章至少有一个可保存区块或具有非空内容属性时,即视为有内容。

参数

返回值

isEditedPostNew

如果当前编辑的文章尚未保存,则返回 true;如果文章已保存,则返回 false。

参数

返回值

isEditedPostPublishable

如果正在编辑的文章可以发布,则返回 true。

参数

返回值

isEditedPostSaveable

如果文章可以保存则返回 true,否则返回 false。文章必须包含标题、摘要或非空内容才能有效保存。

参数

返回值

isEditorPanelEnabled

如果给定面板已启用则返回 true,否则返回 false。面板默认处于启用状态。

参数

返回值

isEditorPanelOpened

如果给定的面板已打开则返回 true,否则返回 false。面板默认是关闭的。

参数

返回值

isEditorPanelRemoved

如果给定的面板已被编程方式移除,则返回 true,否则返回 false。默认情况下,所有面板均未被移除。

参数

返回值

isFirstMultiSelectedBlock

相关

isInserterOpened

如果插入器已打开,则返回 true。

参数

返回

isListViewOpened

如果列表视图已打开,则返回 true。

参数

返回值

isMultiSelecting

相关

isPermalinkEditable

Returns whether the permalink is editable or not.

Parameters

Returns

isPostAutosavingLocked

Returns whether post autosaving is locked.

Usage

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>{ __( 'Post auto saving is locked' ) }</p>
    ) : (
        <p>{ __( 'Post auto saving is not locked' ) }</p>
    );
};

Parameters

Returns

isPostLocked

返回文章是否被锁定。

参数

返回值

isPostLockTakeover

返回文章的编辑权是否已被接管。

参数

返回值

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>{ __( 'Post saving is locked' ) }</p>
    ) : (
        <p>{ __( 'Post saving is not locked' ) }</p>
    );
};

参数

返回值

isPreviewingPost

如果文章正在预览中则返回 true,否则返回 false。

参数

返回值

isPublishingPost

如果文章正在发布中则返回 true,否则返回 false。

参数

返回值

isPublishSidebarEnabled

返回当用户点击“发布”按钮时,是否应显示或跳过预发布面板。

返回值

isPublishSidebarOpened

如果发布侧边栏已打开,则返回 true。

参数

返回值

isSavingNonPostEntityChanges

如果当前正在保存非文章实体,则返回 true,否则返回 false。

参数

返回值

isSavingPost

如果文章当前正在保存中,则返回 true,否则返回 false。

参数

返回值

isSelectionEnabled

相关

isTyping

相关

isValidTemplate

相关

操作

自动保存

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

参数

clearSelectedBlock

相关

closePublishSidebar

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

返回值

createUndoLevel

已弃用 自 WordPress 6.0 起

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

disablePublishSidebar

禁用发布侧边栏。

editPost

返回一个用于表示文章属性已被编辑的动作对象。

用法

// 更新文章标题
wp.data.dispatch( 'core/editor' ).editPost( { title: `${ newTitle }` } );

参数

返回值

enablePublishSidebar

启用发布侧边栏。

enterFormattedText

相关

exitFormattedText

相关

hideInsertionPoint

相关

insertBlock

相关

insertBlocks

相关

insertDefaultBlock

相关

lockPostAutosaving

锁定文章自动保存的操作。

用法

// 使用锁键 `mylock` 锁定文章自动保存:
wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );

参数

返回

lockPostSaving

Action that locks post saving.

Usage

const { subscribe } = wp.data;

const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );

// Only allow publishing posts that are set to a future date.
if ( 'publish' !== initialPostStatus ) {

    // Track locking.
    let locked = false;

    // Watch for the publish event.
    let unssubscribe = subscribe( () => {
        const currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );
        if ( 'publish' !== currentPostStatus ) {

            // Compare the post date to the current date, lock the post if the date isn't in the future.
            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' );
                }
            }
        }
    } );
}

Parameters

Returns

mergeBlocks

相关

moveBlocksDown

相关

moveBlocksUp

相关

moveBlockToPosition

相关

multiSelect

相关

openPublishSidebar

返回一个用于表示用户打开了发布侧边栏的动作对象。

返回值

receiveBlocks

相关

redo

恢复撤销历史中最近弹出状态的操作。

refreshPost

已弃用 自 WordPress 6.0 起。

用于刷新当前文章的操作。

removeBlock

相关

removeBlocks

相关

removeEditorPanel

返回用于从编辑器中移除面板的操作对象。

参数

返回

replaceBlock

相关

replaceBlocks

相关

resetBlocks

相关

resetEditorBlocks

返回一个用于表示区块已更新的操作对象。

参数

resetPost

已弃用 自 WordPress 6.0 起。

返回一个操作对象,用于表示已通过初始化或保存接收到文章的最新版本。

savePost

用于在编辑器中保存当前文章的操作。

参数

selectBlock

相关

setDeviceType

更改编辑画布宽度的操作。

参数

返回值

setEditedPost

返回一个设置当前文章类型和文章 ID 的操作。

参数

返回值

setIsInserterOpened

返回一个用于打开/关闭插入器的操作对象。

参数

返回值

setIsListViewOpened

返回一个用于打开/关闭列表视图的操作对象。

参数

返回值

setRenderingMode

返回一个用于设置文章编辑器渲染模式的操作。我们支持多种渲染模式:

参数

setTemplateValidity

相关

setupEditor

返回一个动作生成器,用于发出信号,表示编辑器已使用指定的文章对象和编辑器设置完成初始化。

参数

setupEditorState

已弃用

设置编辑器状态。

参数

showInsertionPoint

相关

startMultiSelect

相关

startTyping

相关

stopMultiSelect

相关

stopTyping

相关

switchEditorMode

触发用于切换编辑器模式的操作。

参数

synchronizeTemplate

相关

toggleBlockMode

相关

toggleDistractionFree

切换无干扰模式的操作。无干扰模式期望没有侧边栏,因为设置的 z-index 值会导致无法关闭侧边栏。

参数

toggleEditorPanelEnabled

返回一个用于启用或禁用编辑器中某个面板的操作对象。

参数

返回值

toggleEditorPanelOpened

打开一个已关闭的面板,或关闭一个已打开的面板。

参数

togglePublishSidebar

返回一个动作对象,用于表示用户切换了发布侧边栏。

返回值

toggleSelection

相关

toggleSpotlightMode

此操作用于切换聚光灯模式视图选项。

toggleTopToolbar

用于切换顶部工具栏视图选项的操作。

trashPost

用于在编辑器中删除当前文章的操作。

undo

从撤销历史中弹出记录并撤销编辑的操作。

unlockPostAutosaving

解锁文章自动保存的操作。

用法

// 使用锁键 `mylock` 解锁文章保存:
wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );

参数

返回

unlockPostSaving

用于解锁文章保存的操作。

用法

// 使用锁键 `mylock` 解锁文章保存:
wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );

参数

返回值

updateBlock

相关

updateBlockAttributes

相关

updateBlockListSettings

相关

updateEditorSettings

未记录的声明。

updatePost

已弃用 自 Gutenberg 9.7.0 版本起。

返回一个动作对象,用于表示已接收到针对文章最新版本的一系列更新补丁。

返回值

updatePostLock

锁定编辑器的操作。

参数

返回值