How wordpress/create-block-theme works
Create Block Theme is a WordPress plugin that adds theme-management workflows to the Site Editor and admin dashboard. Users choose an operation in the UI; the editor client calls the plugin API, which creates or updates theme files and can prepare an export ZIP. The README also documents template localization, image collection, style and font saving, metadata editing, variations, and theme reset. The graph reflects those documented capabilities and sampled call sites; several PHP implementation details were not sampled, so uncertain internal wiring is omitted.
Main entry points: class-create-block-theme-api.php Theme REST API · theme-templates.php Template processing · resolvers.js API resolvers · plugin-sidebar.js Editor sidebar
Components 25
Editor experience
- Editor sidebar
src/plugin-sidebar.js - Save panel
src/editor-sidebar/save-panel.js - Metadata editor
src/editor-sidebar/metadata-editor-modal.js - Typography controls
src/editor-enhancements/expand-typography-controls.js - API resolvers
src/resolvers.js - File download
src/utils/download-file.js - Font credits
src/utils/fonts.js - Font parser
src/lib/lib-font/lib-font.browser.js
Theme operations
- Theme REST API
includes/class-create-block-theme-api.php - Theme creation
includes/create-theme/theme-create.php - Theme settings save
includes/create-theme/theme-settings-save.php - Font saving
includes/create-theme/theme-fonts.php
Export processing
- Style processing
includes/create-theme/theme-styles.php - Template processing
includes/create-theme/theme-templates.php - Pattern processing
includes/create-theme/theme-patterns.php - Media localization
includes/create-theme/theme-media.php - Text localization
includes/create-theme/theme-locale.php - Theme JSON
includes/create-theme/theme-json.php - Theme ZIP
includes/create-theme/theme-zip.php - ZIP archive
includes/create-theme/cbt-zip-archive.php
Admin experience
- Admin landing page
src/landing-page/landing-page.js
Other components
- Theme developer
- WordPress Editor
- WordPress services
- Theme files
Connections 33
- Theme developer → WordPress Editor: uses
- WordPress Editor → Editor sidebar: opens
- Theme developer → Admin landing page: opens
- Editor sidebar → Save panel: navigates to
- Editor sidebar → API resolvers: requests export
- Admin landing page → API resolvers: requests export
- API resolvers → Theme REST API: calls endpoints
- Editor sidebar → File download: downloads response
- Admin landing page → File download: downloads response
- Save panel → API resolvers: submits operations
- Metadata editor → WordPress services: reads theme data
- Metadata editor → Font credits: gets font credits
- Font credits → API resolvers: gets font families
- Font credits → Font parser: parses font files
- Font credits → WordPress services: fetches font files
- Typography controls → WordPress Editor: filters block settings
- Theme REST API → Theme creation: creates themes
- Theme REST API → Theme settings save: saves changes
- Theme REST API → Theme ZIP: builds export
- Theme REST API → Template processing: exports templates
- Theme REST API → Theme JSON: exports theme data
- Theme ZIP → ZIP archive: writes archive
- Theme ZIP → Theme files: copies theme files
- Theme REST API → Font saving: saves fonts
- Theme settings save → Style processing: saves styles
- Theme settings save → Template processing: saves templates
- Theme settings save → Theme files: updates theme
- Template processing → Media localization: localizes images
- Template processing → Text localization: localizes text
- Template processing → Pattern processing: processes patterns
- Theme JSON → Theme files: writes theme JSON
- Theme creation → Theme files: creates theme files
- Font saving → Theme files: writes font assets