The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in the bug tracker.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
51 contributors have shipped 157 pull requests in this release, and a big welcome to four new contributors. With WordPress 6.6 rapidly approaching, many contributors are focusing on bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, with this release including a total of 62 fixes. There are still some great features being worked on, and this release introduces the new background image feature to several blocks.
Background image support for Quote, Verse and Post Content blocks
Freshen up the look of the quote, verse, and post content blocks using the new background image feature.
Previously, options for background images were limited to container blocks like the Cover and Group blocks, but with the feature now supported across several blocks, it’s easier for users to attain the look they want without nesting blocks.
Very early work on extensibility for DataViews was shipped in this release.
‘DataViews’ is the component that powers the post listing views available in the Site Editor, and in the future will become an important part of the new adminadmin(and super admin) design project.
The APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. being explored will allow the registration of actions for different ‘entities’ (post types and other types of data represented by the listings). Right now, the API is private to the Gutenberg PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. and will undergo further development and testing before being made public for third parties.
Post content blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.: Add background image and padding support. (62499)
Quote blocks: Add background image and minimum height support. (62497)
Verse block: Add background image and minimum height support. (62498)
Block Library
Post Date & Comment Date: Add relative date format. (62298)
Replace “Add new post” link text with more meaningful Label (v2). (62277)
Block Editor
LinkControl: Refined the display of the link preview title and URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when both are same. (61819)
Unify DataViews HeaderHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. Title & Subtitle. (62429)
Template inspector: Small visual adjustments. (62537)
Document Settings
FlatTermSelector: Update the term suggestion limit. (62359)
Global Styles
Update custom CSSCSSCascading Style Sheets. handling to be consistent with block global styles. (62357)
Post Editor
Try: Re-enable ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org StrictMode. (61943)
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Fix errors when the entities list doesn’t contain configuration key. (62346)
Data Views: Bulk toolbar covering other clickable elements. (62333)
Fix: Omit default parameters from pages, template parts, and patterns. (62372)
Fix: Show homepage link on frontpage instead of the slug. (62279)
Fix: Unquoted file argument in declaration check script. (62482)
Update instances of text-wrap: Pretty to fall back to balance. (62233)
MediaUpload: Remove dialog markup on close. (62168)
Global Styles
Add default-spacing-sizes and default-font-sizes options for classic themes. (62252)
Add custom CSS for block style variations. (62526)
Color Variations: Use Grid rather than VStack. (62445)
Don’t apply the background and text colors to typography previews. (62578)
Fix UIUIUser interface appearing on blocks that don’t support text alignment. (62376)
Fix UI order for theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. spacing sizes. (62199)
Fix registration of theme style variation defined block styles. (62495)
Only use single property variations as color/type presets. (62469)
Section Styles: Register block style variations on init. (62461)
Section styles: Support i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. for variations declared in theme.json or theme style variations. (62552)
Sort spacing sizes when all slugs begin numerically. (62567)
Update sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. title + icon + site title alignment. (62191)
Block Editor
Inserter: Allow focus to move to the toggle when opening the inserter. (62513)
Inserter: Return the same items when the state and parameters don’t change. (62263)
Remove ‘rootClientId’ argument for block lock selectors. (62547)
Update fetchLinkSuggestions to sort results by relevancy. (62397)
Block Library
Fixed Media Text Block Issue : When crop image to fill is enabled, the image in nested media & text blocks does not show. (62182)
Media & Text block: Fix nested Media & Text block media position issue with increased CSS specificity. (62184)
Query: Adjust the position of sticky search field in Patterns modal. (62370)
Editor: Make revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. more prominent. (62323)
Editor: Refine availability of rename post action. (62248)
Fix move CONTENT_ONLY_BLOCKS into component body to ensure the editor.postContentBlockTypesfilterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. gets called whenever the values are used. (62292)
Components
Ensure that openref is defined before accessing to .current. (62508)
Fix: Update styles for checkbox and radio controls. (61696)
Tabs: Prevent accidental overflow in indicator. (61979)
List View
Fix home and end key behaviour in very long lists. (62312)
Show context menu for content-only blocks in posts. (62354)
Block bindings
Fix applying bindings or pattern overrides to button blocks with empty text. (62220)
Fix site editor breaking when user selects bound and non-bound blocks at the same time. (62268)
Revert changes to bindings replacement logic to not use regex. (62355)
Synced Patterns
Block Bindings / Pattern Overrides: Prevent normal attribute updates when a __default binding exists. (62471)
Fix showing double icons for connected blocks in pattern editor. (62317)
Data Views
DataViews: Fix unnecessary horizontal scrollbar in list layout. (62448)
Page creation and duplication: Decode HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in success notices. (62313)
Patterns
Fix increasingly big canvas in the post editor when editing patterns. (62360)
Data: Add error handle to the ‘registry.batch’ method. (62322)
Block Variations
Compare objects based on given properties. (62272)
Block Styles
Remove core block style variations filters and action. (62090)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Add lint rule for inaccessible disabled Button. (62080)
Fix @sincetagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) in docblockdocblock(phpdoc, xref, inline docs) in WP_Theme_JSON_Data_Gutenberg. (62425)
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. link on explanations documentation. (62487)
Fixing minor syntax in DataView example code. (62560)
Interactivity API template create block: Removed warning for generated README from template. (62324)
Update Node version for flaky test reporter. (62401)
end-to-end Utils: Add retry mechanism to the REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/ discovery. (62331)
Build Tooling
Build JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. module only in development mode. (62398)
Speed up check-build-type-declaration-files. (62538)
Props to @jameskoster for the visual assets, @priethor for handling the release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). at short notice, @andrewserong, @isabel_brison, @annezazu, and @matveb for help with drafting and proof reading this post.
With the last few releases of WordPress, the glimmers of phase 3 of the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ roadmap are starting to shine through, namely in the form of the new powerful Data Views. While exciting to see a glimpse of what’s to come, it’s also causing an understandable increase in questions – What can we use today? What should we use based on each use case? What work is coming up next? This post seeks to provide answers at a high level view of these questions, along with some general context as to what’s being done and why. It’s pulled from a wide range of conversations including advancing the site editor index views,Roadmap to 6.6, and more. This is and shall continue to be an evolving conversation.
Background:
What problems are Data Views trying to solve?
The current WP List Tables lack the flexibility required for more complex websites and are not suited for the technological demands of phase 3, which emphasizes collaboration workflows like saving and sharing specific views. Data Views aims to revolutionize these views by providing enhanced functionality, including alternative display options, extensive customization capabilitiescapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability)., and robust extension points.
What are Data Views?
Data Views refers to an improved and reusable UIUIUser interface for different screens in WordPress that deal with collections of things whether that’s templates, patterns, posts, media, and more. Currently, those views are known as WP List Tables and Data Views seeks to replace those over time. It’s being built with extensibility in mind and is a big part of phase 3, specifically the Adminadmin(and super admin) Redesign efforts. This new UI will also power other long term future parts of phase 3 work, including workflow improvements for assigning folks to review posts or creating custom views to streamline processes. Currently, the Data Views are isolated just to the Site Editor and an initial version was released in 6.5 with a broader iteration underway for 6.6.
Below is a video showing the current WP List Tables in comparison to the new Data Views, showing both shared functionality and some of what the Data Views can offer that WP List Tables can’t, like different layouts, exposing more fields, and offering previews:
Why is the work being approached this way?
This work is intentionally being done first in the Site Editor with private APIs to allow for quick iteration and a more narrow impact than starting in the broader wp-admin landscape. The following principles are in mind as this work is underway:
Iteratively, with each step bringing meaningful improvements.
Stay subject to feedback from the broader community.
Stay backwards compatible.
Focus on accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility).
Ultimately, whatever is shipped publicly will need to be maintained and it’s important to avoid disruptive changes while these efforts are in an iterative stage.
What’s happening for WordPress 6.6?
For WordPress 6.6, set to launch in July, the release includes work to bring the various management pages forward in the Site Editor (manage all templates, manage all template parts, manage all pages) so those options are immediately seen when visiting the respective sections, reducing the number of steps to access important information. For pages, a new side by side layout will be introduced so one can see both a list of all pages and a preview of the currently selected page. For patterns, template part management will be removed and integrated into the current overall patterns section. Interspersed within all of these larger changes are smaller enhancements in functionality and feel, including details normalization that will eventually scale up into a bulk editing tool.
What’s coming up after WordPress 6.6?
A major priority is extensibility APIs so plugins in the future can begin altering and extending these pages, inevitably resulting in more feedback. Currently, an initial API has been bootstrapped to allow third-party developers to register and unregister post type actions with broader, high level plans outlined.
Outside of that, there are explorations underway to bring the new list views, as an opt-in experiment in the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party., to the Posts listing and the Media library. These are intentionally being done as experiments for now to see what might be viable for a future release and will take the form of contained Site Editor-like instances. At the same time, a Data Views Forms effort is underway that’s meant to allow for bulk editing first and, in the future, to be a framework to generate forms and details panels.
TLDR: This work is in an evolving middle stage where feedback is needed but what’s being done isn’t fully formed to implement wholesale.
Extensibility has been a key piece of this work baked into all of these efforts from the very beginning. However, in order to move quickly to build on new parts of Data Views and avoid breaking changes, these APIs are currently Gutenberg plugin-only APIs. At the same time, it’s important to get extender feedback to shape the work being done.
For now, folks can bundle the Data Views styles into a plugin. You can even copy/paste these frames in the design library for quick mockups. Currently, the @wordpress/dataviews package is public already, meaning you can install it, use it from npm, and bundle it in your own scripts. What remains private is that it’s not exposed as a WP global, which means future breaking changes are possible but you’ll be able to upgrade the package at your own pace if you bundle it. There are also no extensibility APIs for the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. provided data-views yet for WordPress 6.6 (Templates, pages, patterns) which means you can’t alter these pages yet from a WordPress plugin. As mentioned above, an initial API has been bootstrapped to allow third-party developers to register and unregister post type actions with broader, high level plans outlined for furthering extensibility.
For those who can adopt this work, please do and report back around the edges you find so we can iterate. For some, you may need to wait until it’s fully formed. The answer depends on what you’re trying to do and on what timescale. As always though, going as native as possible as soon as possible is beneficial both to ensure what’s being built works for your use case and to prevent the future work that will be needed to adopt what’s built.
In the future, you can imagine a more customizable interface all within the same current navigation structure rather than a wp-admin like interface. Folks can pick and choose which plugin interfaces to pin and use, rearrange navigation items, and experience a similar flow and presentation no matter where they go. We aren’t there yet but we’re on a path in that direction:
Where can I follow along and provide feedback?
Feedback is wanted and needed! Here are a few ways to follow along, depending on the level you want:
Phase 3: WordPress admin redesign: this is the highest level overview of the current work and thinking for the whole of the admin redesign.
DataViews component: this is the highest level overview of the data views specific component and technical work needed that is a big piece of the overall admin redesign.
Advancing site editor index views: this is a medium term scope of work that’s likely to exist across a few WordPress major releases.
Data Views issues label: this gives a very granular look at the various pieces being worked on. This might be helpful to wade through when you’re attempting to open an issue or comment on a current one.
To share feedback and ask questions, checkcurrently open issues to leave a comment oropen a new GitHub issue in the Gutenberg repo.This post is simply to share an update and the best place to get involved in a discussion is in GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/. If you have clarifying questions about the post itself, you’re welcome to ask them.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
Gutenberg 18.5 introduces several exciting features, enhancements, and some bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. Some of the highlights of this release include better tools for section styling, providing more customization options for your sections, a new Custom Shadows feature which improves the control over our shadows, and also the ability to edit a blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.’s custom fields directly in the block itself, thanks to the latest additions to the Block Bindings APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways..
Additionally, this release supports copying custom CSSCSSCascading Style Sheets. between variations, relative theme path URLs for background images in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML., and improved consistency in root padding across blocks.
Section styling with extended block style variations
From the Dev Notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. draft:
Section-based styling has been enabled by extending the existing Block Styles feature (aka block style variations) to support styling inner elements and blocks. These enhanced block style variations can even be applied in a nested fashion due to uniform CSS specificity (0-1-0) for Global Styles, which will be introduced in WordPress 6.6.
In addition block style variations can now be:
Registered across multiple block types at the same time
Defined via multiple methods; theme.json partials, within theme style variations, or by passing a theme.json shaped object in the style’s data given to existing block style registration functions
The new Custom Shadows feature allows for the creation and editing of shadows within Global Styles. Users can now add depth and visual interest to their site elements with more nuanced shadow effects.
Block Bindings: allow editing post metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. directly in blocks
Using the latest changes to the Block Binding API, this change means that we can now edit the value of custom fields directly through the blocks when they are connected to those fields. For example, when a paragraph block’s content is bound to a custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes., the user can edit the custom field value by editing the block content.
Other Notable Highlights
Copy custom CSS between variations when switching (61752)
Support Relative Theme Path URLs for Background Images in theme.json (61271)
Improve Consistency in Root Padding Across Blocks (60715)
Block settings: Update variant of “Apply globally” Button component to secondary. (61850)
Editor: Align the Post Format control design with the rest of the post sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. controls. (62066)
Editor: Polish the style of some of the post summary rows. (61645)
Format Library: Refactor ‘Inline Image’ edit component. (62135)
Playwright end-to-end Utils: Add fullscreenMode option to createNewPost. (61766)
Post Summary: Move PostTemplatePanel below URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and Author. (62137)
Remove trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in post/page inspector. (61792)
Shadows instead of borders on interface skeleton. (61835)
Inspector: Display home / posts page badge. (62071)
Inspector: Remove revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. panel. (61867)
Make post meta row button treatment consistent. (61954)
Remove ‘Manage…’ prefix in Pages / Templates data views. (62107)
DataViews: label prop in Actions API can be either a string or a function. (61942)
Fix pagination position on pages with short lists. (61712)
Pages data view: Add Pending and Private views. (62138)
Pages sidebar: Adds published & scheduled items. (62021)
Stop Patterns data view headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. shrinking. (61801)
Add block-level Text Alignment UIUIUser interface. (61717)
Add option to remove site-wide theme background image. (61998)
Background image: Add support for relative theme path URLs in top-level theme.json styles. (61271)
Background image: Update controls defaults and layout. (62000)
Background images: Add defaults for background size. (62046)
Don’t filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. out typography variations where the heading and body fonts are the same. (61327)
Make color variations fit in a bit better visually. (61617)
Make it clearer how to edit a site’s palette. (61364)
Document Bar: Decode HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities and take into account cases where there is no title. (62087)
Editor: Don’t apply purple accent to the unsynced pattern title. (61704)
Editor: Ensure Copy button in sidebar copies whole permalink, with URL protocol. (61876)
Editor: Fix the ‘DocumentBar’ position for long titles. (61691)
Editor: Render publish date control when the status is future(scheduled). (62070)
Editor: Unify button size in pre-publish panel. (62123)
Editor: Use edited entity for post actions. (61892)
InspectorControls: Text not displayed when “Show button text labels” is enabled. (61949)
Link Control: Fix focus handlers in development mode. (62141)
Media & Text block: Remove the link option when the featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. is used. (60510)
Classic block: Fix content syncing effect for ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org StrictMode. (62051)
Don’t steal focus when opening browse all blocks. (61975)
Fix: The latest post block – post titles overlapping. (61356)
Fixed : Update alt text decision tree links to be translatable. (62076)
Fixed: Custom HTML Block should display content in LTR layout for all languages. (62083)
More block: Fix React warning when adding custom text. (61936)
useUploadMediaFromBlobURL: Prevent duplicate uploads in StrictMode. (62059)
Global Styles
Fix make dimensions.aspectRatios key of theme.json files translatable. (61774)
Hide the presets panel for when there are less or exactly one presets available. (62074)
Prevent Typography panel title from wrapping. (62124)
Shadow Panel: Generates unique shadow slugs by finding max suffix and incrementing it. (61997)
Styles: try wrapping with :Root to fix reset styles. (61638)
Transform Styles: Update selector so that styles work when custom fields panel is active. (62121)
Site Editor
Align the template title to the center in the ‘Add template’ screen. (62175)
Close publish sidebar if not in edit mode. (61707)
Fix the site editor Adminadmin(and super admin) Bar menu item. (61851)
InputControl: Fix z-index issue causing slider dots to appear in front of the Appearance dropdown. (61937)
getAutocompleterUI: Don’t redefine ListBox component on every render. (61877)
Synced Patterns
Block Bindings: Filter pattern overrides source in bindings panel. (62015)
Fix detaching patterns when a pattern has overrides, but there are no override values. (62014)
Block bindings
Don’t show non-existing and not supported attributes in block bindings panel. (62183)
Layout
Remove extra bracket in the site editor root padding styles. (62159)
Block Styles
Fix block style variation styles for blocks with complex selectors. (62125)
Code Editor
Editor: Unify text/code editor between post and site editors. (61934)
Page Content Focus
Remove lock icons from Content blocks inner blocks when editing a page in the site editor. (61922)
Patterns
Templates: Only resolve patterns for REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/ endpoints. (61757)
Interactivity API
Turn named capturing groups back into numbered ones inside toVdom. (61728)
Block API
Fix: Enable Text Align UI to be controlled correctly with theme.json. (61182)
REST API
Return an empty object when no fallback templates are found (wp/v2/templates/lookup). (60925)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Global Styles
Shadow Panel: Improve a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and fix browser console error. (61980)
Fix: Adds help props for description of Play Inline toggle. (61310)
Performance
Perf: Batch block list settings in single action. (61329)
Remove additional call to WP_Theme_JSON_Gutenberg::__construct. (61262)
Interactivity API
Introduce wp-on-async directive as performant alternative over synchronous wp-on directive. (61885)
Post Editor
DocumentBar: Only selected data needed for rendering. (61706)
Experiments
Interactivity API
Use output buffer and HTML tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) processor to inject directives on BODY tag for full-page client-side navigation. (61212)
Documentation
Add JSDoc to PostVisibility, PostVisibilityCheck, and PostVisibilityLabel. (61735)
Add a section about block filters to the Filters and HooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. doc. (61771)
Add an example and improve readability of the Block Filters doc. (61770)
Add docblockdocblock(phpdoc, xref, inline docs) to PostTitle and PostTitleRaw component. (61740)
Changelog: Add note about removing legacy operators. (62013)
Docs: Fix spacing in PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher doc block in comments block. (61911)
Update pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.-document-setting-panel.md. (61782)
Rename backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.-changelog/6279.md to backport-changelog/6.6/6279.md. (61894)
Added unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for post excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block render function. (43451)
Avoid using component naming conventions for non-component code. (61793)
Update to use the EditorInterface component from the editor package. (62146)
Block hooks
Navigation block: Check for insert_hooked_blocks_into_rest_response i…. (62134)
Navigation block: Check for update_ignored_hooked_blocks_postmeta in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (61903)
Enable parallel processing for PHPCSPHP Code SnifferPHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS.sniffssniffA module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.. (61700)
Fix an issue causing wp-scripts commands to fail if the file path contained a space character. (61748)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
This release includes 178 pull requests by 58 contributors. Look for improvements to the Grid blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience., a new handy keyboard shortcut, and useful features for extenders. Additionally, as always, a number of bugs, accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues, and performance issues have been fixed.
Great work to all who contributed to Gutenberg 18.4, with special appreciation for the first-time contributors we had this release. Thank you!
No longer an experiment, the grid layout visualization is now available to everyone! See outlines of the grid columns and rows, and use the drag handles to make content span across them. (#61640)
Group blocks with a keyboard shortcut
Many design tools provide shortcuts for grouping elements. Gutenberg has been missing this convenience since blocks could be grouped… until today. Now you can conveniently group all selected blocks with the ⌘ Command + G on MacOS or Ctrl + G on Windows. (#46972)
Define custom aspect ratio presets with theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.
Tired of being stuck with the same standard aspect ratios for image cropping and layout? Now themes can define their own aspect ratio presets to use. (#47271)
Set new aspect ratios with the settings.dimensions.aspectRatios option in theme.json. As with other presets, the default options are always available by default. To remove them and use only your own, set the settings.dimensions.defaultAspectRatios option to false.
For extenders needing more customizability than the BlockToolbar has to offer, you can use the newly exported BlockPopover component to easily create your own custom toolbar. (#61529)
For extenders replicating rich text pasting behavior in your own blocks, you now have access to a convenient supports.splitting block setting. When it is enabled and content is pasted inside the block, it will split your block in two, insert the content, and then merge the ends together. (#54543)
For theme developers, the list block now includes a wp-block-list class to allow styling the block separately from other lists. No more accidentally selecting too many things when styling list blocks. (#56469)
Changelog
View full list of changes
Enhancements
Layout
Check child layout exists before generating classname. (61392)
Hide Image block resizer when inside a grid layout. (61603)
Editor: Enable Zoom-out mode in the post editor. (61293)
Keep original viewport width (single scale). (61424)
Open inserter sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. when clicking on inserter buttons on zoom-out mode. (61434)
Only add the selected pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. in metadata during insertion. (61557)
Add a keyboard shortcut to create group from the selected blocks. (46972)
Enhance block outlines and selection interactions. (60757)
Tiny tweak to position close button properly in the inserter. (61461)
Editor
Editor: Unify HeaderHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. component. (61273)
Editor: Unify the sidebar between the post and site editors. (61507)
Editor: Update and simplify the Post Summary and Post Card section in the document sidebar. (61624)
Try: Improve date-wrapping in prepublish flow. (61490)
Update: Implement the new discussion panel design. (61357)
Post Editor
Add global styles to settings using existing context code. (61556)
Display a notice after moving a post into the trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.. (61670)
Redirect /wp_template_part/all to /patterns. (61446)
Moves “Patterns” command to site editor main navigation. (61416)
Adds “Template Parts” command to site editor. (61287)
Show pin/unpin button on the site editor pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. sidebar. (61448)
Remove default entry into Navigation MenuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. focus mode but retain ability to access via “Edit”. (61275)
Zoom-out: Fix iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. ref error. (61200)
Fix sticking “Reset” option in ToolsPanel. (60621)
RadioControl: Fix shrinking radio controls. (61476)
Block Library
Navigation Block: Add list item wrapper to social links when used in navigation block. (61396)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Remove font weight on toolbar tab button – #61254. (61308)
Time to Read Block: Fix “this block has encountered an error” – #61459. (61614)
Image Block: Enable crop action when image has a link. (61470)
ShortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. Block: Fix layout margin override. (55028)
Return an empty object when no fallback templates are found (wp/v2/templates/lookup). (60925)
Site Editor
Fix user capabilitiescapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). check for the Site Editor. (61444)
Preserve the wp_theme_preview query arg when navigating in Site Editor. (61394)
Trigger sidebar animations only on cross-route navigations. (61402)
Site Editor: Restore the hover zoom effect when hovering the editor frame. (61647)
Widgets Editor
Hide the close button on the inserter for widgets editor. (61510)
Data Views
Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. on keyboard navigation. (61478)
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
Interactivity API: Allow multiple event handlers for the same type with data-wp-on-document and data-wp-on-window. (61009)
Interactivity API: Prevent empty namespace or different namespaces from killing the runtime. (61409)
Interactivity API: Prevent wrong written directives from killing the runtime. (61249)
Add a section about block_editor_settings_all to the Filters and HooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. doc. (61597)
Added check for duplicated slugs during manifest.json generation. (61332)
Block Editor: Remove multiline prop from Richtext doc. (61592)
Docs: How-to Guides > MetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Boxes – Update metabox.md. (61314)
Docs: Interactivity API – Add viewScriptModule as a requirement to work with the Interactivity API. (61355)
Docs: Interactivity API : New pages – About and FAQ. (61323)
Docs: Remove list of keyboard shortcuts from FAQ page. (61591)
Docs: Update theme-json-living.md to fix little issue. (61354)
Fix WP versions for theme.json v3 migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in inline documentation. (61328)
Theme.json: Update schema with working create theme link. (61306)
Update wordpress/a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) README.md. (61635)
Update Node.js requirement in create-block docs. (60962)
Update and restructure the Editor Hooks doc. (61596)
Updated links to developer resources on README.md. (61525)
Several Typo Corrections in Inline Documentations. (61662)
Code Quality
PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher load: move rest template controller 6.6 import to “REST” area. (61564)
Upgrade @types/reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org package and @types/react-dom. (60796)
Create Block: Match specified engines with Gutenberg and CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (61430)
build: Suggest workaround if tsc --build fails. (61501)
build:package-types: Run silently to reduce user confusion. (61530)
GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ Actions: Fix PHP file change detection filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. pattern. (61183)
PatchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.react-autosize-textarea for updated types. (61570)
These “CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Improvement…” posts (labeled with the #core-editor-improvementtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are a series dedicated to highlighting various new features, improvements, and more from Core Editor related projects.
Important design tools have shipped in the last few GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ releases, with additional ways to take advantage of the creative flexibility already available with blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes. Here’s a closer look at what these tools unlock ahead of the next major WordPress release.
Offer individual typography and color variations
Style variations bundled with block themes allow you to seamlessly transform your site’s look and feel fast, all while using the same theme. Sometimes though, you may want to offer more design options without offering entirely new styling changes. 6.6 is slated to add the ability to target color or typography only variations and offers them as presets, separate from overall style variations. These new color and typography presets offer more contained changes, making it simple to offer broader color options or typography options out of the box with your theme. To use this new option, theme authors will need to create color or typography only variations that ideally work well with the overall variatiosn you’re already offering. For example, perhaps you want to provide a few more typography options for folks to use across each variation. Of note, for any style variations that only contain color and typography changes, these will now automatically appear in this separate preset flow.
Previously, you could only create overlapping designs with negative margins. As of Gutenberg 18.3, you can add negative margins right in the Site Editor for all blocks that support margin controls. The negative values need to be manually entered to balance some UXUXUser experience considerations and add some guardrails, meaning they can’t be selected by dragging.
Want to share something you create with this new option in the next WordPress release? Share it in the Pattern Directory! For now, enjoy exploring.
Embrace the Grid
Grid is a new layout variation for the Group block stabilized in Gutenberg 17.8 that allows you to display the blocks within the group using CSSCSSCascading Style Sheets. grid. Of note, any block can use this new grid layout thanks to the supports key in block.json. There are two options for the grid layout:
“Auto” generates the grid rows and columns automatically using a minimum width for each item.
“Manual” lets you specify the exact number of columns.
This is just the beginning. Efforts are underway to let you drag and drop, andresize blocks on the grid, providing a more visual and intuitive experience. Work is also in progress to improve how folks create layouts in general. If you want to follow how this feature evolves, check out this tracking issue, watch the recent demo, and join the dedicated #feature-gridSlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel.
Changelog
June 6th: updated the Mix and Match variations in light of a discussion that has changed this feature changing it to allow theme authors to create typography or color only variations that show up outside of the main style variation flow.
This is a summary of a Hallway Hangout that was first announced on Make Core. The aim was to have a shared space where we could chat about what’s being worked on to provide broader awareness to more WordPress contributors and get feedback. The hope is that by coming together early before the next betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. period to talk about different features, we can, as a community, flush out concerns sooner, help more folks get involved, and find ways to work better together. Thank you to the 18 folks who joined and to @saxonafletcher and @richtabor for demoing.
Video Recording:
Demos:
The first hour or so covered demos of features with a few questions mixed throughout. What follows is a high level description of the demo topic with links to GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ issues to dive into more and questions asked and answered related to the topic. To make it easier to follow, I also tried my best to split each demo into each section so folks can pick and choose to engage as they’d like. This doesn’t include the full footage but it includes the relevant bits for demoing.
Theme Style Presets
Rich quickly went through at a high level theme style variations, using Twenty Twenty-Four theme as a use case. He then went through abstracting color and typography styles (more than just fonts and includes things like letter spacing) as their own presets. This work was initially merged in a recent PR and works with all existing themes today that support style variations. Going forward, there are some technical details to iron out along with potentially evolving the experience to better support themes with a large set of variations. For a greater view of this general area, dive into the Colors and typeset presets from theme style variations overview issue.
Section Styles
Rich recapped the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. style variations mechanism and how you can register variations via theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. for multiple blocks at a time, including a demo of how this functionality would work in the editor to allow for “section styles”. This isn’t inventing anything new but modifying existing functionality of block styles. The biggest new functionality is that you can assign a variation to multiple blocks and to child blocks at one time. For Rich’s demo, switching between variations changed the styling for Group, Column, and Columns blocks. Overall, this work for 6.6 is being tracked here with the biggest PR still underway to extend block style variations as a mechanism to support this.
Q: For light/dark in the block styles demo, how are these configured differently than a block style or block variation?
Reusing block style variation and applying it to all child/nested blocks too. With all of those combinations, can still granularly change things. It’s make theme.json more portable across themes.
Q: Are there any naming conventions needed for consistency of colors?
Any theme can decide what these variations look like so it doesn’t matter what the color slugs are that a theme uses. In previous themes, base and contrast were primary color slugs used but any other color combinations you can’t guarantee. This allows the theme to define what combinations of colors work well and the theme styles that variation rather than guessing and match up different slugs.
We briefly touched on the many related issues there are around color naming as a broader topic: #29568 & #53996 & 39372.
Q: Is the theme.json you are showing available to look at somewhere?
Yes. Here’s the relevant, new bits from Rich’s demo:
Q: Are these essentially class-based? i.e. will these style variations still work with CSSCSSCascading Style Sheets. files (and JSON at the same time)?
Yes, class based like other block style variations.
Zoomed out view
Rich demoed the work being done around zoomed out editing which emphasizes patterns rather than editing blocks, allowing you to quickly build with patterns (reorder, delete, apply section styles, shuffle). There are some UXUXUser experience considerations to figure out, including ensuring the mode is invoked at the right time and drag & drop works well. The work done here could also apply in the future to the experience of adding a new page or even onboarding into WordPress. It’s unclear right now whether it’s something that will be a toggle to use as you want or a view that’s offered in targeted moments (ie global styles or inserting patterns).
Q: By zooming out for the pattern view – does that mean that patterns aren’t still useful for smaller groups of blocks (i.e. wanting to add a CTA pattern to a column)?
These patterns are still useful! This new option is simply offering a different context and allowing you to engage with patterns in a different way. This is also something to figure out how to do to provide a level to add patterns to a specific section.
Q: I’m missing the purpose of the shuffle button. What if it was a button the showed all relevant patterns to replace the current one with?
It’s an exploration to see if it’s viable and it might not be where we end up. Of note, shuffling just goes to the next pattern rather than a random pattern. We talked at this point about different ways of interacting with patterns, including replacing patterns in the Inspector or selecting patterns from a modal (query loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop block) or shuffling.
Advancing data views
Saxon demoed the latest work around Data Views including a new list view layout type for posts, new default views for templates, and the efforts done to merge patterns & template parts. He discussed being able to set custom views and how useful that will be especially in an enterprise context when lots of folks are working across content. He also shared a figma prototype showing what it might look like with products, rather than posts/pages, to show a custom post typeCustom Post TypeWordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. experience.
As part of this broader work, the Details and Inspector are being unified to simplify both where to find information and the steps to get to editing (without the Details panel, you can go straight into the editing experience). We discussed extensibility, namely around the APIs currently being private but how the work is being tackled with extensibility at its coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. For folks who want to explore today, they can bundle the data view styles in their plugin. In looking ahead, we also talked about responsiveness improvements and how consumers of these components can decide how to define the experience, including any default views or custom views.
Q: That preview of the “product custom fields” as a screen you see before the editor – how does that design relate to the modal for legacy metaboxes that is also happening?
Ideally any data values associated with a post type should be actionable within data views, including generating fields for data. Currently, the data views work is looking at ways to quick edit and bulk edit when selecting multiple items. In some cases, this might be done by editing in the Inspector. There needs to be a broader discussion to define what’s shown in each view vs in the inspector instead of at the bottom. In some cases, there are benefits for things that require more space, like products, to having a more detail style view as a middle step, to allow for editing rather than having something on the bottom or side where you’re trying to edit something in a smaller space.
Q: Are we able to control where our custom post type appears in the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. order?
Saxon went through what synced patterns are along with how overrides function, allowing you to edit a part of a synced pattern while keeping the rest in sync, and showcased a synced pattern with overrides and contentOnly editing enabled. This work is being tracked for 6.6 after being punted from 6.5. As part of this overall feature, we also discussed advancing contentOnly editing to create a simpler editing experience by surfacing more top level sections rather than needing to work about the block hierarchy and providing easy access to edit specific aspects in the inspector.
Q: Would like to hear thoughts on pattern overrides/content locking working with blocks that use repeatable inner blocks (lists, buttons, etc)?
This touches on a common limitation of these kinds of tools and is captured in a related GitHub issue. We talked about how, in the future, you can add overrides for all inner blocks as a way to work around this but, for now, this limitation remains. For example, you could make a grid block overrideable with all children within it inheriting the same.
Block connections
Saxon demoed block connections with an example post type called “Events” with a custom template with a handful of blocks connected to custom fields (location, venue). Right now, this connection has to be made in code including for what’s planned for 6.6 but there’s a larger vision that includes how this could be edited in the interface in the future. For 6.6 though, the ability to edit the custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. visually is planned. Saxon demoed this by editing the custom field directly in an individual event post and showing how it was updated in the posts lists automatically. Saxon also showed how the data will all remain in sync if you have the custom field displayed in multiple places. As a final demo, Saxon showed a Query Loop block querying through the events post type and how he can simply copy/paste the blocks with custom fields into the Query Loop to reuse the functionality there.
Q: Do these fields have to be registered somewhere or are they automatically detected/available by adding it via the code editor?
Yes, they need to be registered and be “non-protected”. Here’s part 1 and part 2 of a developer blogblog(versus network, site) post on connecting custom fields for more information.
Q: What field types (text, select, relationship) is this expected to support when introduced? For custom fields and block binding.
For 6.5, the following are supported:
Paragraph: content.
Heading: content.
Image: URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org, alt, and title.
Button: text, URL, linkTarget, rel.
Grid layout
Saxon showed the work in progress layout improvements for the Grid layout option. There are two modes in Grid: auto (set minimum column width and can’t manually set items) and manual (set number of columns, set number of rows, and manually set items). Once a grid is placed in manual mode, you can reposition them and create new items. Saxon discussed the explorations around being able to “pin to grid” as a way to say that a grid item should never move and how with manual mode this idea of pinning would go away leaving everything to be seen as pinned to the grid manually. This makes manual mode more complex and, for something more structured, that’s where auto mode would be used. A big part of the entire feature is figuring out the best default experience for folks. If you want to follow this work, there’s now a slackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel for discussions: #feature-grid.
Q: Any thoughts on how some of these more unique grid layouts will work on mobile?
There are lots of various discussions around how best to do this and we need to be smart initially around how to stack items, like stack on mobile for columns.
Q: Can we overlap items?
Not yet. There’s a limit in place to prevent that. You can create overlapping items but for v1 we will limit how you can do that. The end goal is you can in the future.
Additional questions
Q: Summarizing a question asked live – where do I get new information about what’s coming up, especially outside of the technical resources? What do I have to follow?
We talked about how all levels of communication are needed from longer tutorials to quick reels to user friendly resources to deeply technical walkthroughs. This is a “forever problem” that cuts across how information is found on the WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ website to release resources to the entire experience of using WordPress. We talked about how the media corps work might help with this too.
Q: How do we feel about the fact that the Fonts APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. exist while also encouraging theme builders to ship fonts so that variations (typography) are available in global styles? Themes are sometimes shipping 50 fonts. How much do we ship? Should a theme ship with no font? A lot of these themes are huge! This is a more philosophical question.
We talked about how we could potentially reconcile these so declaring a font family in theme.json could potentially bring it into the site editor but that, in general, fonts should still provide presets for users. Ideally, it can all be connected to the font library to keep fonts in one place but we shouldn’t make users go hunting for fonts and themes should be opinionated in how they want folks to use it.
Q: I’d love to hear if anyone has a fix for this issue I’m dealing with regarding caching and style variations. tldr the style variations cache doesn’t clear, so you have to switch back and forth between variations to clear it while working on a new theme.
Please chime in on the issue if you think you can help! None of us on the call had a good answer for it as it mainly requires a workaround rather than a fix that can be shipped as it’s a known limitation.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).
The latest release includes 234 pull requests from 54 contributors, and generally focuses on polishing features, and addressing bugs. Significant activity has also been directed towards improving documentation and code quality.
We extend a warm welcome and thanks to four new first-time contributors! 🎉
Gutenberg 18.2 refines the flow of turning pattern overrides on and off. It introduces a new DisallowOverridesModal for easier interaction. The solution removes complexity by focusing on a more intuitive workflow, including a modal confirmation when disallowing overrides and pre-populated names for quicker re-enablement. Through consistent interaction, we aim to simplify the user experience. (60769)
Enabling Template Preview in the Post Editor for Non-Administrators
We aim to enhance collaboration and flexibility in WordPress. By changing the rules for template previews, we now allow users with lower roles, like Editor, to view and switch between templates. This update resolves a previous issue by permitting non-administrators to see templates while editing content. (60447)
Site Editor: Support Starter Patterns
When creating a new post or page in the site editor, a modal window allows users to choose a pattern to kickstart their layout and design flow. This feature was previously only available in the post editor. (60745)
Simplify Template Reset Language
A frequent observation from previous outreach:
Why are “clear customizations” for a template in a different place (in the title area) and named differently from “reset defaults” for styles?
The term “Clear customizations” was changed to “Reset,” with label updates to maintain consistency across the Site Editor and Command Palette. This change aims to improve clarity and reduce confusion for users performing template resets. The updated terminology aligns with other languages throughout the editorial experience, making the process more intuitive. (60256)
Other Notable Highlights
Animation improvements – subtle easing can make a huge impact
Improve the headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. animation. (60408)
Editor: Animate opening and closing editor right sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (60561)
Editor: Animate the inserter and list view panels. (60665)
Bump minimum required PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2 (60714)
Enhancements
Site Editor
Add rename and trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. actions to page panel. (60232)
Confirm dialog: Use more descriptive text for the confirm button. (60364)
Editor: Add wordcount and reading time info in post card. (60672)
Editor: Animate opening and closing editor right sidebar. (60561)
Editor: Animate the inserter and list view panels. (60665)
Editor: Update post URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org component. (60632)
Editor: Use the ‘ConfirmDialog’ component in template validation notice. (60385)
Enable template preview in post editor for non administrators. (60447)
Support insert before/after keyboard shortcuts when focus is within the list view. (60651)
Back Compatback compatBackward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers.: Add Patterns submenu for WordPress 6.4. (60804)
Consolidate “bound blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.” color and “synced” colors. (60617)
Improve override indication for editable blocks in synced patterns. (60599)
Refine rename flow for blocks with overrides. (60234)
Add loading state on image upload in featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts., Site logo and Cover blocks. (59519)
File: Use HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to update the PDF preview label. (60494)
Navigation block: Add current-menu-item class for post type archive. (57808)
Remove block renaming control from advanced inspector controls group. (60453)
Data Views
Add ability to display fields as a badge in grid layout. (60284)
Data views table row: Make checkboxes and actions visible on touch devices. (60829)
DataViews: Make the experiment about custom views. (60813)
Layout
Add a Row control to grid layout in manual mode. (60652)
Apply negative margins for alignfull children of blocks with custom padding set. (60716)
Try reducing specificity of layout style selectors. (60228)
Include preact/debug when SCRIPT_DEBUG is enabled. (60514)
New APIs
Extensibility
Editor: Support PluginPostStatusInfo Slot in the site editor. (60814)
Editor: Unify PluginMoreMenuItem API between post and site editors. (60778)
Fix: Use coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. instead of core/editor on normalizeComplementaryAreaScope. (60821)
Fix translatable string in pagination modal. (60742)
Interactivity: Return useMemo and useCallback hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (60474)
Only show block icon in toolbar for contentOnly blocks when block is a synced block. (60647)
Patterns: Guard for unknown pattern in server-side resolver. (60464)
Snackbar: Make the explicitDismiss string translatable. (60368)
Update standardisation of ‘Navigation MenuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site.’ to have both words capitalised in user-facing menus. (60262)
Standardise capitalisation of Navigation Menu in sidebar. (60527)
Image: Fix cropper resize on align change (reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org-easy-crop upgrade). (60581)
Latest Posts: Remove wrapper div and apply consistent class. (60728)
Fix small regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. on the resize handle. (60427)
Fix the removePropertyFromObject function throws an error if the object is null. (60831)
Router: Load proper sidebar for /wp_template. (60850)
[Site Editor]: Fix ability to edit trashed pages. (60236)
Post Editor
Editor: Do not render publish time and post status panels in design post types. (60857)
Editor: Fix post status label styles for low-capabilitycapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). users. (60854)
Fix display of shortcut to add non breaking space in the post editor. (60625)
Fix: Action button alignment on details panel. (60773)
Fix: Action order is different from inspector and dataviews. (60877)
Fix: Do not show pattern and template actions on the post editor. (60568)
Fix: Missing items parameter and or missing onActionPerformed calls. (60753)
Fix: Trash Post action and permanently delete post action do not show errors on single item. (60597)
Post Editor Header: Make block toolbar toggle button focus visible. (59781)
Block Editor
Avoid errors when a block variation icon is an object. (60766)
Fix external link indicator in Link Control. (60439)
Fix for isPossibleTransformForSource handling selecting inexistent block. (59410)
Fix stuck dragging mode in UI in Firefox when dealing with deeply nested lists. (60845)
Prevents delete key from undoing automatic changes. (60858)
Raw Handling – msListIgnore – Check attributes are valid. (60375)
Data Views
DataViews: Fix typing in combobox filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. (60819)
Fix default layout configuration in pages list. (60407)
I18Ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add context to ‘Library’ string. (60520)
Components
Fix link control link preview when it displays long URLs. (60890)
ProgressBar: Fix CSSCSSCascading Style Sheets. variable with invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. value. (60576)
Don’t output base flow and constrained layout rules on themes without theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (60764)
Fix responsive column span logic on the front end. (60976)
Restore classic auto margin rule to its previous specificity. (60802)
Interactivity API
Allow multiple event handlers for the same type with data-wp-on. (60661)
Update the query block to permit non-core interactive blocks. (60006)
REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/
Fix PHP notice triggered by ‘gutenberg_update_initial_settings’. (60862)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Fixes a link to the getEntityRecord documentation. (60823)
Improve documentation for block variation isActive property. (60801)
Update: Hardcoded documentation link to a branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". that does not exist. (60671)
Update: Reference editor scope instead of edit-site, edit-post on interface package documentation. (60818)
[Create Block] Adding documentation for the transformer property. (60445)
Tests: Shard JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. unit tests. (60045)
Tests: Share JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser.
https://www.javascript.com build assets across PHP workflows. (60428)
Update: Avoid two useSelect calls on PostActions. (60752)
Update: Make content locking related selectors private. (60827)
Update: Move template actions to the editor store. (60395)
Update: Remove keyCode usage from dataviews package. (60585)
Update: Use util getVariationClassName instead of computing the variation inline. (60664)
Switching pattern categories inserter to Tabs component with arrow key navigation. (60257)
Tools
Update @talldan in codeowners file, remove from edit-widgets package. (60800)
Testing
Add end-to-end test for activating themes in site editor. (60707)
Automated Testing: Update end-to-end test npm commands. (60376)
Fix flaky Site Editor URL navigation end-to-end test. (60675)
PHP unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. workflow: Try removing 7.0 and 7.1. (60686)
Perf: Improve way we measure template loading by adding posts. (60516)
Performance Tests: I’m tired of doing head math 😊. (60509)
@DaniGuardiola 🏅ProgressBar: Moved width to CSS var for performance. (60388)
@garridinsi 🏅 Interactivity API refactor to TypeScript (utils & kebabToCamelCase). (60149)
@xhemals 🏅 Update standardization of ‘Navigation Menu’ to have both words capitalized in user-facing menus. (60262), Standardise capitalization of the Navigation Menu in the sidebar. (60527)
Contributors
The following contributors merged PRs in this release:
Props to @joen, @priethor and @bphfor assisting with the preparation of this post and @vcanales, @mcsf, and @dmsnell for supporting me through my first Gutenberg release.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).
With more than 150 pull requests (PRs), Gutenberg 18.1 is packed with features and bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes to suit all tastes — new pattern and template part insertion functionality, site backgrounds in global styles, accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and performance improvements.
Lovers of documentation and code quality enhancements will be pleased to learn that their favorite PRs make up almost a third of the total number in this release!
As always, a big thank you goes out to all who contributed, with special gratitude to first-time contributors. Great work!
Version 18.1 extends background image support to top-level global styles in the Site Editor, which means you can add custom background images and photos to sites. Images can set to repeat, or be displayed as contain or cover backgrounds. (#59454)
And for those wondering — yes, as well as regular images, looping animated gifs will also work.
See more with data views
Whether it’s sorting or searching your patterns in grid and table layouts (#60337), or filtering and previewing all of your sites pages (#59950), version 18.1 brings further design consistency to configurable adminadmin(and super admin) views, not to mention quicker access and management of site assets.
Alongside the continuous integration into BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor workflows, data views have undergone improvements to accessibility and keyboard navigation (#59637).
Pattern schema and insertion
Pattern insertion gets an upgrade in the latest version of Gutenberg. The editor canvas will zoom out when browsing and inserting patterns using the block inserter, allowing a greater overview of how your patterns appear alongside the rest of your site’s content. (#59775)
Patterns are a powerful way to define design assets with configurable content. You can now give your patterns a “schema” by naming blocks that are overridable in all instances of those patterns. Users of your patterns will be able to see exactly which blocks are editable via a handy list in the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (#59977)
Swap and edit template parts
When editing your site’s templates, you can select template parts and immediately view alternative designs for that template part in the sidebar. Want to replace your footer design? Click on your template’s footer and select a new one from the available designs. Voilà! (#60203)
Gutenberg has long had an option to preview a page’s template when editing that page. 18.1 lets you select and edit a page’s important template parts, such as the headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. and footer. To do so, click on a template part, then hit “Edit” in the toolbar. (#60010)
Other notable highlights
The editor displays a confirmation modal before clearing template customizations. (#60119)
You can collapse non-selected items in the list view using a handy new keyboard shortcut (Option-L on Mac, or Alt-L on Windows). (#59978).
Changelog
View the full changelog
Enhancements
Block Editor
Zoom out: Invoke zoom out mode when opening the patterns tab, and move the code to do so to a shared hook. (59775)
Block Previews: Update shadows in different contexts. (60161)
Update: Move post actions to the editor package. (60092)
Consolidate when showing revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. link or action. (60194)
Editor: Update hover color of editor document title. (60113)
Add content schema to pattern editing view. (59977)
Close inspector on pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. select. (60004)
Focus block selection button only in navigation mode. (60207)
Pattern Shuffling: Make the results deterministic. (60074)
Add __next40pxDefaultSize to Image block Title Attribute. (60117)
Add support “HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Element” to Site Tagline. (59654)
Image: Remove temporary image check for rendering controls. (60212)
Reduce specificity of block library styles conflicting with block supports. (59457)
Update navigation blocks to use consistent link UIUIUser interface labels and field sizes. (60116)
Summary: Polish featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.. (60110)
Data views: Add confirmation modal for clearing customizations in templates. (60119)
Data views: Make trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. a quick action again. (60165)
List View
Add keyboard shortcut to collapse list view items other than the focused item. (59978)
Adjust the List View close icon to resemble the Inspector close icon. (59999)
Update “Actions” string to “Options” in List View. (60136)
Templates
Add filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to allow extending the list of post content blocks. (60068)
Render non-editable preview of template part when user does not have capabilitycapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). to edit template part. (60326)
Template Parts: Remove pattern title from sidebar. (60160)
Template Parts: Update replace flow to separate template parts from patterns. (60203)
Template Parts: Update the ‘Replace’ label to ‘Design’. (60156)
Zoom Out
Add a delete control to toolbar on zoomed out mode. (60214)
Media dialog push content in zoomed out mode. (60170)
Components
Popover / ToggleGroupControl: Use useReducedMotion() from @wordpress/compose. (60168)
REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”)
https://developer.wordpress.org/rest-api/
Allow view access of template rest endpoint to anyone with the edit_post capability. (60317)
Site Editor: Consolidate save button functionality. (60077)
Revert #60300: Make sure the CSSCSSCascading Style Sheets. class id-dark-theme is added to the editor iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. body. (60616)
Block Editor
Make sure the CSS class is-dark-theme is added to the editor iframe body. (60300)
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.r57868 (Editor: Prevent font folder naive filtering causing infinite loops) from WordPress-Develop. (60141)
Block templates
Add null check to prevent errors in get_block_template filter. (60491)
Utilities
URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: Return early in getFilename where URL argument is falsy. (60265)
Accessibility
Data Views
Add click-to-select behavior on table rows. (59803)
Data views list layout: Apply focus styles to items on focus-visible rather than focus. (60253)
Add auto generated APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. documentation for editor package. (60356)
Fix @todo tags to follow standards in WordPress comments. (60148)
Fix Font Collection JSONJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema definition. (60285)
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. documentation link to load JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser.
https://www.javascript.com. (60181)
Fix: Invalid links to the block supports api. (60199)
Fix: Non existent link to submitting to the block directory. (60389)
Interactivity API: Variable name correction in the documentation. (60056)
Create Block: Update external template documentation to include variants. (60095)
Update: Use getPostIcon selector on document bar. (60128)
Distraction free: Remove unwanted space from string. (60108)
Global Styles
Additional CSS: Add code comments contextualising tranformStyles for clarity. (60267)
Global styles: output :root selector for CSS custom properties. (42084)
Style Engine: Continue get_classnames loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop after adding the default classname. (60153)
Font Library
Add test for Font Library and Theme Style Variations. (60250)
Update google fonts font collection data URL to the latest version available. (60079)
Block Library
Image: Use the new ‘useUploadMediaFromBlobURL’ hook. (60208)
Navigation Block: Add test coverage to check that post content is not removed. (60189)
Site Editor
DataViews: Don’t memoize every callback ‘PagePages’ component. (60103)
History: Simplify the push and replace methods. (60112)
Rich Text
RichText: Separate fallback instance ID for selection retrieval. (60277)
Block Locking
E2E: Test BlockSwitcher availability in l-post-ul-group CPT. (60254)
Data Views
DataViews: Fix reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org warning error in list layout. (60101)
Tools
Testing
Automated Testing: Remove Puppeteer CI Job. (59311)
Blocks: Fix double gutenberg_ prefix in built dynamic blocks PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. (60288)
First-time contributors
The following PRs were merged by first-time contributors 🎉 :
@interdevel: Fix @todo tags to follow standards in WordPress comments. (60148)
There are some big, exciting efforts underway within the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ project and pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. that will eventually make their way in some form to a future WordPress release. It’s all WordPress at the end of the day and, in an effort to bring people into the flow of what’s happening in the earlier stages, this hallway hangout seeks to be a snapshot of what’s being worked on to provide broader awareness to more WordPress contributors and get feedback. The hope is that in coming together early before the next betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. period to talk about different features, we can, as a community, flush out concerns sooner, help more folks get involved, and find ways to work better together.
Important note: this hallway hangout will likely last for 90 minutes instead of the usual 60 minutes to allow for ample time to demo and discuss.
How to join
If you’re interested in joining, the Hallway Hangout will happen on 2024-04-24 23:00 . A Zoom link will be shared in the #coreSlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel before starting and all are welcome to join, whether to listen or participate, for as long or as little as you’d like. This will be recorded and recapped. Note that the time for these hallway hangouts are intentionally rotated to allow for different folks to participate in different ones.
If you’re unable to make it but have something to comment on or share, I welcome you to leave feedback in the comments of this post or dive straight into the GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ issues linked below. This isn’t meant to replace any particular way to get involved but is meant to streamline and offer a more high bandwidth way to connect.
Agenda
At a high level, the following items are currently on the list to go through but more might be added depending on how the next few weeks take shape. We’ll get through as many of these as we can in the order as shown below, with either demos to go through from figma, from a PR, or via the Gutenberg plugin. @saxonfletcher & @richtabor will help lead these demos:
Data views efforts and its relationship to the Adminadmin(and super admin) Redesign.
Overrides in synced patterns, including the UXUXUser experience and the broader reasoning around naming to unlock an override.
Zoomed out view and the experience coming together to focus on patterns rather than granular blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editing, including Advancing contentOnly editing.
Style inheritance to help clarify where and why different items are styled as they are.
There’s obviously more that could be on here but, in an effort to focus on some of the larger, more relevant work, let’s start here. We can always hold more of these in the future! Hope to see you there.
For a while now, the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/GithubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ repo has had a few high level labels (Overview, Tracking, Iteration) that have gotten a bit convoluted over time. Sometimes the issue is no longer relevant, is incorrectly labeled, has been updated so many times that the comments don’t follow what’s there, or double labeled. This has led to reported concerns and confusion around what work is truly active, what areas are being explored, and more. To begin to clean this up, a few things were done over the last week or so to make these labels more reliable, more consistent, and easier to follow:
Updating the descriptions of these labels to be concise, more descriptive, and show how they are tied to each other.
Changing Epic to Iteration for clarity as Epic holds different connotations for folks and is harder to grasp.
Triaging older issues and closing out when necessary aka the work is no longer relevant or has been completed.
Ensuring the labels that remain are accurate, either by not labeling the work as one of the above labels or adding/removing labels.
Pinging the folks who opened different issue when needed to ask for updates to ensure what’s there aligns.
Opening any needed overview issues related to phase 3 (this is in progress by @priethor).
How can I use or interact with these labels?
For context, here’s a sense of how each label should work and how you might want to use them or follow them:
Overview issues contain more context/strategy and narrative, often including multiple tracking issues to accomplish an area of work and existing across numerous releases. Here’s an example from phase 2.
Tracking issues are more tactical, broken down into individual tasks and areas of work, and exist across a few releases. It should ideally be part of a breakdown from an Overview issue. Here’s an example for layout support.
Iteration issues are to define iterations of a project in smaller deliverable packages, including when possible the minimum requirements to ship the iteration as a whole in a WordPress release. Expect these issues to be regularly updated and curated. They reflect more active work and often is pulled out of a list of items in a tracking issue unless the scope is small and it can pull work directly from an Overview. Here’s an example with overrides in synced patterns for 6.6.
This means if you don’t have a ton of time to pay attention to the releases or overarching work, you can use these labels to narrow your focus and stay up to date at the level you’d like.
Label description updates
This is just a quick rundown of what’s changed, description wise, to tighten up the approach.
Before:
Epic: A large body of work shaping an iteration that can be broken down into a number of smaller issues.
Tracking: For issues used to track large changes across the codebase
Overview: Offers a comprehensive breakdown of a specific area of work to act as a guidepost
After:
Iteration: Scoped iteration of an effort from a tracking issue or overview issue ideally for a major releasemajor releaseA release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope..
Tracking: Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Overview: Comprehensive, high level view of an area of focus often with multiple tracking issues.
Let’s keep iterating
This system isn’t perfect but, just like with WordPress itself, it’s an iteration and you can expect more to come. This will be focused on for the WordPress 6.6 cycle on the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor side and likely iterated upon once more after going through a full cycle with a more tightened workflow. If done well, very little extra work should be created for contributors and those who want to contribute or follow along the efforts can do so with greater ease. Ultimately, communication around what’s gone into a release happens already and this just seeks to formalize where it happens with clearly high level labels and norms within them.
You must be logged in to post a comment.