title: "Gutenberg 私有 API" post_status: publish comment_status: open taxonomy: category: - gutenberg-docs post_tag: - Repos - Data - Docs Translate
Gutenberg 私有 API
本文概述 Gutenberg 包公开的私有 API。这些 API 用于实现 Gutenberg 编辑器(文章编辑器、站点编辑器、核心区块等)的部分功能,但未向插件和主题开发者或自定义 Gutenberg 集成的开发者公开。
本文档旨在展示我们拥有多少私有 API,以及如何利用 @wordpress/* 系列包提供的库和框架,使用这些 API 构建 Gutenberg 编辑器应用。
data
注册表有两个私有方法:
- privateActionsOf
- privateSelectorsOf
每个存储都有一个用于注册私有选择器/操作的私有 API:
- privateActions
- registerPrivateActions
- privateSelectors
- registerPrivateSelectors
blocks
core/blocks 存储
私有操作:
- addBlockBindingsSource
- removeBlockBindingsSource
- addBootstrappedBlockType
- addUnprocessedBlockType
私有选择器:
- getAllBlockBindingsSources
- getBlockBindingsSource
- getBootstrappedBlockType
- getSupportedStyles
- getUnprocessedBlockTypes
- hasContentRoleAttribute
组件
私有导出项:
- __experimentalPopoverLegacyPositionToPlacement
- ComponentsContext
- Tabs
- Theme
- Menu
- kebabCase
命令
私有导出项:
- useCommandContext(2023年5月在 #50543 中添加)
core/commands 存储
私有操作:
- setContext(与 useCommandContext 一同添加)
preferences
私有导出:(于 2024 年 1 月在 #57639 中添加)
- PreferenceBaseOption
- PreferenceToggleControl
- PreferencesModal
- PreferencesModalSection
- PreferencesModalTabs
仅有一个公开导出的组件!
- PreferenceToggleMenuItem
block-editor
私有导出:
- AdvancedPanel
- BackgroundPanel
- BorderPanel
- ColorPanel
- DimensionsPanel
- FiltersPanel
- ImageSettingsPanel
- TypographyPanel
- useHasBackgroundPanel
- useHasBorderPanel
- useHasBorderPanelControls
- useHasColorPanel
- useHasDimensionsPanel
- useHasFiltersPanel
- useHasImageSettingsPanel
- useHasTypographyPanel
- useSettingsForBlockElement
- ExperimentalBlockCanvas:公共 BlockCanvas 的版本,具有几个额外属性:contentRef、shouldIframe、iframeProps。
- ExperimentalBlockEditorProvider:公共 BlockEditorProvider 的版本,过滤掉几个私有/实验性设置。另请参阅 __experimentalUpdateSettings。
- getDuotoneFilter
- getRichTextValues
- PrivateQuickInserter
- extractWords
- getNormalizedSearchTerms
- normalizeString
- PrivateListView
- ResizableBoxPopover
- BlockInfo
- useHasBlockToolbar
- cleanEmptyObject
- BlockQuickNavigation
- LayoutStyle
- BlockRemovalWarningModal
- useLayoutClasses
- useLayoutStyles
- DimensionsTool
- ResolutionTool
- TabbedSidebar
- TextAlignmentControl
- usesContextKey
- useFlashEditableBlocks
- useZoomOut
- globalStylesDataKey
- globalStylesLinksDataKey
- selectBlockPatternsKey
- requiresWrapperOnCopy
- PrivateRichText:在 #58916 和 #60327(2024 年 2 月和 3 月)中添加了额外属性 readOnly。
- PrivateInserterLibrary:在 #62130(2024 年 5 月)中添加了额外属性 onPatternCategorySelection。
- reusableBlocksSelectKey
- PrivateBlockPopover:有两个额外属性,__unstableContentRef 和 __unstablePopoverSlot。
- PrivatePublishDateTimePicker:公共 PublishDateTimePicker 的版本,具有两个额外属性:isCompact 和 showPopoverHeaderActions。
- useSpacingSizes
- useBlockDisplayTitle
- __unstableBlockStyleVariationOverridesWithConfig
- setBackgroundStyleDefaults
- sectionRootClientIdKey
- __unstableCommentIconFill
- __unstableCommentIconToolbarFill
core/block-editor 存储
私有操作:
- __experimentalUpdateSettings:公共 updateSettings 操作的版本,会过滤掉某些私有/实验性设置。
- clearBlockRemovalPrompt
- clearRequestedInspectorTab
- deleteStyleOverride
- ensureDefaultBlock
- expandBlock
- hideBlockInterface
- modifyContentLockBlock
- privateRemoveBlocks
- requestInspectorTab
- resetZoomLevel
- setBlockRemovalRules
- setInsertionPoint
- setLastFocus
- setOpenedBlockSettingsMenu
- setStyleOverride
- setZoomLevel
- showBlockInterface
- startDragging
- stopDragging
- stopEditingAsBlocks
私有选择器:
- getAllPatterns
- getBlockRemovalRules
- getBlockSettings
- getBlockStyles
- getBlockWithoutAttributes
- getClosestAllowedInsertionPoint
- getClosestAllowedInsertionPointForPattern
- getContentLockingParent
- getEnabledBlockParents
- getEnabledClientIdsTree
- getExpandedBlock
- getInserterMediaCategories
- getInsertionPoint
- getLastFocus
- getLastInsertedBlocksClientIds
- getOpenedBlockSettingsMenu
- getParentSectionBlock
- getPatternBySlug
- getRegisteredInserterMediaCategories
- getRemovalPromptData
- getRequestedInspectorTab
- getReusableBlocks
- getSectionRootClientId
- getStyleOverrides
- getTemporarilyEditingAsBlocks
- getTemporarilyEditingFocusModeToRevert
- getZoomLevel
- hasAllowedPatterns
- isBlockInterfaceHidden
- isBlockSubtreeDisabled
- isDragging
- isResolvingPatterns
- isSectionBlock
- isZoomOut
core-data
私有导出:
- useEntityRecordsWithPermissions
core 存储
私有操作:
- receiveRegisteredPostMeta
- editMediaEntity
私有选择器:
- getBlockPatternsForPostType
- getEntityRecordPermissions
- getEntityRecordsPermissions
- getNavigationFallbackId
- getRegisteredPostMeta
- getUndoManager
patterns(该包创建于 2023 年 8 月,没有公开导出项,所有内容均为私有)
私有导出项:
- OverridesPanel
- CreatePatternModal
- CreatePatternModalContents
- DuplicatePatternModal
- isOverridableBlock
- useDuplicatePatternProps
- RenamePatternModal
- PatternsMenuItems
- RenamePatternCategoryModal
- PatternOverridesControls
- ResetOverridesControl
- PatternOverridesBlockControls
- useAddPatternCategory
- PATTERN_TYPES
- PATTERN_DEFAULT_CATEGORY
- PATTERN_USER_CATEGORY
- EXCLUDED_PATTERN_SOURCES
- PATTERN_SYNC_TYPES
core/patterns 存储库
私有操作:
- convertSyncedPatternToStatic
- createPattern
- createPatternFromFile
- setEditingPattern
私有选择器:
- isEditingPattern
区块库
私有导出:
- BlockKeyboardShortcuts
router(仅限私有导出)
私有导出:
- useHistory
- useLocation
- RouterProvider
core-commands(仅限私有导出)
私有导出:
- useCommands
编辑器
私有导出项:
- CreateTemplatePartModal
- BackButton
- EntitiesSavedStatesExtensible
- Editor
- PluginPostExcerpt
- PostCardPanel
- PreferencesModal
- usePostActions
- ToolsMoreMenuGroup
- ViewMoreMenuGroup
- ResizableEditor
- registerCoreBlockBindingsSources
- interfaceStore
- ActionItem
- ComplementaryArea
- ComplementaryAreaMoreMenuItem
- FullscreenMode
- InterfaceSkeleton
- PinnedItems
core/editor 存储
私有操作:
- createTemplate
- hideBlockTypes
- registerEntityAction
- registerPostTypeActions
- removeTemplates
- revertTemplate
- saveDirtyEntities
- setCurrentTemplateId
- setIsReady
- showBlockTypes
- unregisterEntityAction
私有选择器:
- getEntityActions
- getInserter
- getInserterSidebarToggleRef
- getListViewToggleRef
- getPostBlocksByName
- getPostIcon
- hasPostMetaChanges
- isEntityReady
edit-post
core/edit-post 存储
私有选择器:
- getEditedPostTemplateId
edit-site
core/edit-site 存储
私有操作:
- registerRoute
- setEditorCanvasContainerView
私有选择器:
- getRoutes
- getEditorCanvasContainerView