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 biweekly following every Gutenberg release, 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 introduces several new features to Data Views. For starters, you can customize the column order in table views (63416) and adjust the density of grid views (63367).
The Pages list views also get some love, as it now displays the author’s avatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. (63309) next to the publication status.
If you like these visual hints next to the page titles, you will love to hear that table views now support displaying combined fields (63236), enabling things like displaying page thumbnails next to the page title in future releases.
Finally, if you really like tinkering with early features, try out the new experimental Quick Edit for Data Views (63600). To do so, remember to enable the experiment in the Gutenberg settings first!
Consolidating design tools across blocks
In a recurring effort to provide design tool consistency across blocks (43241), Gutenberg 18.9 brings border control support to the Gallery, Buttons (which also gets color and padding support), Heading, Paragraph, Quote (spacing support, too) blocks, Social Links, and Term Description blocks. Similarly, the Image and Search blocks get margin support.
Improved usability in editing and applying font size presets
Gutenberg 18.9 iterates both using and editing font presets in global styles. The Global Styles interface now allows user-friendly editing of font size presets (63057). Moreover, these font presets and color presets can now be selected on the Global Styles 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. under “Browse styles“, bringing consistency to the interface and aligning with the left sidebar Styles menu (63173).
“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.
A total of 217 PRs were merged in Gutenberg 18.8, with 10 first-time contributors! With WordPress 6.6 releasing this week, 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. There are still some great features and enhancements in this release, highlighted below.
Group 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. shadow support
A popular feature requestfeature requestA feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged., shadows can now be added to the Group block. (63295)
Background image support for blocks in global styles
The background image block support has been updated to allow images to be set in global styles (60100). This means that a background image can be set for all quote or pull quote blocks within a site or theme. Additionally, the controls for background images have been updated to use a popover (60151) so that they’re tucked away when not making changes.
Other notable highlights
Toolbar justification controls for Group and Content blocks
The justification controls for the Group and Content blocks are now exposed in the block toolbar. This makes it easier to quickly update these blocks to be left or right-aligned, using a similar interface to text and button blocks. (62924)
Color support for individual list item blocks
Individual list items within a list block can now have different color styles to the overall list they belong to. (59892)
Block inserter no longer behaves like a dialog box
When opening the block inserter, it will now stay open when interacting with the editor canvas. This makes it easier to move around the document while adding blocks. (63059)
Changelog
View full list of changes
Features
DataForm: Implement first prototype using duplicate page action. (63032)
TimePicker: Add dateOrder prop to sort day, month, and year. (62481)
ToolbarButton: Deprecate isDisabled prop and merge with disabled. (63101)
Tooltip Component: Add custom class name support. (63157)
Data Views
Add padding around selected values in author 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.. (63212)
DataViews filterSortAndPaginate utility: Support sorting by number. (63187)
DataViews: Make view.hiddenFields optional. (62876)
Pages: Include avatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. in Author field. (63142)
Patterns Page: Hide preview column by default. (63213)
Add example for query block and posts list. (63286)
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: Add example of the block. (63010)
Font Library Modal: Enhance pagination appearance. (63210)
Font Library: Store font subdirectory in 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.. (63000)
Move font directory into uploads to match WP 6.5. (60354)
Layout
Add justification to block toolbar in addition to 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.. (62924)
Block 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.
block.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.: Allow passing filename as variations field. (62092)
UnitControl: Fix an issue where keyboard shortcuts unintentionally shift focus on Windows OS. (62988)
Block Library
Add Aspect ratio control on Image blocks in Grids. (62891)
Audio Block: Do not persist blob urls and fix undo. (63257)
File block: Do not persist blob urls and fix undo. (63282)
Fix Incorrect URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org basename logic in EmbedPreview. (63052)
Fix: Update “Link Text” label to “Text” on Social Icons block #60966. (61715)
List: Maintain nested list on parent item removal. (62949)
Navigation: Allow themes to override block library text-decoration rule. (63406)
Patterns: Check for edited entity content property when exporting. (63227)
Reduce specificity of social link icon specific colors. (63049)
Refactor Post Date Relative Time Rendering for Future Dates. (62979)
Site Editor: Fix template parts ‘Reset’ action. (62951)
Video Block: Do not persist blob urls and fix undo. (63238)
Post Editor
Editor: Do not truncate post excerpt if not editable. (63314)
Fix: Background height and padding in non-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. editor canvas. (63222)
Fix: Crash when onActionPerformed is used with callback actions. (63120)
Fix: Permanently delete post action does not calls onActionPerformed. (63121)
Fix: Triple scrollbars in device previews. (62940)
Post editor: Increase specificity of bottom padding. (63288)
Actions: TranslationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. should depend on number of items. (62857)
Data Views
DataViews list layout: Fix action alignment. (62971)
DataViews: Restore preview focus outline in grid layout. (62991)
Fix buttonless table 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. alignment. (62877)
Resizing in Auto mode shouldn’t add columnStart and rowStart values. (63160)
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. css for nested fullwidth layouts with zero padding applied. (63436)
Global Styles
Elements: Avoid specificity bump for top-level element-only selectors. (63403)
Global styles 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.: Ensure that user-defined variation styles CSSCSSCascading Style Sheets. is generated. (62768)
Root padding styles: Include alignwide in nested has-outer-padding logic. (63207)
Remove letter-spacing from typography element preview. (60322)
Only add customizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. additional CSS to global styles in block themes. (63331)
Site Editor
Make SiteHub available for Pages, Patterns, and Templates in mobile viewports. (63118)
Patterns and templates cannot be edited from sidebar mobile view. (63002)
Site Editor Sidebar: Hide horizontal scrollbar when navigating. (63194)
Synced Patterns
Ensure disable overrides button is active for image blocks with captions or links. (62948)
Fix second scrollbar when editing patterns in the post editor. (62909)
Pattern overrides: Fix aspect ratio not working in image with overrides. (62828)
Block Editor
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. Panel: Align text and icons horizontally to avoid clipping. (62842)
Zoom Out: Move the hook to the inserter component. (63315)
Fix error when calling the PostActions view-post callback. (63460)
Block bindings
Disable post meta editing in blocks inside a 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.. (63237)
Image block: Ensure extenders that rely on media ids in block htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. are supported by block bindings. (63013)
Patterns
Fix: Restrict export pattern action to user patterns. (63228)
Posts/Tags/Categories Screen
Constrain is-fullscreen-modeadminadmin(and super admin) body class to posts list. (63166)
Inspector Controls
Fix button wrapping in the document Inspector. (63062)
Design Tools
Duotone: Fix code typo, to ensure Duotone updates correctly in Safari. (62953)
Commands
Fix issue of HTML entities rendering in command menu. (62606)
Typography
Use available font weights and styles in FontAppearanceControl. (61915)
Font Appearance Control: Refactor font appearance fallbacks. (63215)
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)
Allow Escape key to move focus to editor region when in select mode. (62196)
Focus Editor Region from Template Footer Click. (62595)
Components
Button: Stabilize __experimentalIsFocusable prop. (62282)
Perf tests: Make pages test compatible with base 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".. (63204)
Block 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.
Optimize selectors in the control component. (63141)
Experiments
Layout
Allow inserting blocks directly in empty grid cells. (63108)
Use manualPlacement attribute to set manual grid mode and allow responsive behaviour in both modes. (62777)
Documentation
Add note about postcss-urlrebase package 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.. (63015)
Add RichText formatting example to the Editor curation documentation. (63065)
Block supports: Add documentation for ‘splitting’. (63016)
Fix typo to be preposition, not verb, in some package comments and documentations. (62945)
Storybook: Fix links for block editor examples. (63132)
ToolbarButton: Fix documentation for accessibleWhenDisabled. (63140)
Update ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. dev docs rule hook URL. (62995)
Code Quality
Add linguist-documentation attribute to docs/ directory. (62651)
Conditionally call focus with getEditorRegion. (62980)
Core Data: Remove entity configuration ‘__experimentalNoFetch’ flag checks. (63303)
Add comment about useSelect usage in withBlockBindingSupport. (63005)
HTML API
Compat: Update HTML API with changes from 6.6. (63089)
Tools
Dependency extraction: Map to regenerator-runtime instead of wp-polyfill. (63091)
Env: Remove version field from docker-compose configuration. (63099)
Eslint-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: Add method-signature-style TypeScript lint rule. (62718)
Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
Update new release issue template to remove core editor chat item. (62864)
Testing
Automatically sync 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 to issue. (62973)
Block styles variations E2E: Wait for Save button before editing global styles. (62915)
Cherry pick workflow: Improve message after conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved.. (62826)
DataViews: Add performance test for pages. (63170)
This hallway hangout seeks to be another snapshot of what’s being worked on in 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/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 provide broader awareness to more WordPress contributors and get feedback. In line with the first edition, the hope is to come together early to talk about different features, 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-08-15 15: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 be 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 work shapes up in the coming weeks. 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.
Next up for the Data views efforts and its relationship to the Adminadmin(and super admin) Redesign. This includes adding data views to Posts and the Media Library as experiments.
Gallery block lightbox and the Query block’s Instant Search powered by the 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..
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.
In an effort to focus on some of the larger, more relevant work, let’s start here. If you’d like to present something, just comment below too! Hope to see you there.
“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.
A total of 115 PRs were merged in Gutenberg 18.7, with 7 first-time 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. However, this release still includes some great features and enhancements, including the manual mode for the grid interactivity experiment!
In order to allow more precise manipulation of the grid, all grid items are now fixed in place when using manual mode. Grid items can then be moved around with drag and drop, with 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. movers (in any direction), or by changing the values of column and row in the Dimensions 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.. This new feature is a part of Grid interactivity and is available behind an experimental flag. (#61025)
Content panel for template parts
Template parts now show the content panel in the editor settings. (#62034)
Other Notable Highlights
Text orientation controls have been added to more blocks (site-title, site-tagline, verse, and button block.) (#62727)
The sticky toggle for posts can be found in its new home, the “Status and visibility” popover. (#62782)
The document bar is now displayed when viewing the Style book and Style 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. (#62669)
Rename yieldToMain to splitTask and export from wordpress/interactivity. (62665)
Update: Check assignable properties on the duplicate action. (62590)
Update: Followups to the template and template_lock 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/. addition. (62696)
Update: Reverse 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. changes on post type REST API changes. (62751)
Display the DocumentBar for Style Book and Style Revisions. (62669)
fetchLinkSuggestions: Allow for partial matching. (62570)
DataViews: Support passing the registry to actions callbacks. (62505)
Add tooltip on hover of color and typography presets. (62201)
Revert change that removes the social link block when pressing backspace in the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Popover. (61344)
Bug Fixes
Add context in post actions 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.. (62443)
Add html to reset styles for the .editor-styles-wrapper container. (62350)
Cherry pick script: Make authenticated requests. (62473)
Editor: Fix blocked Post Publish Panel buttons on mobile. (62736)
Fix rawHandling, pasteHandling for mixed content with blocks and classic. (62545)
Fix: Active template is not highlighted properly in list view. (62811)
Fix: Check Capability to create pages on DataViews add new page button. (62592)
Fix: Check ability to create patterns on the add new pattern modal. (62633)
Fix: Check create capability on duplicate post action. (62620)
Fix: Check permissions on duplicate pattern and template part actions. (62757)
Fix: Comments and Pingbacks get cleared out when a pattern is edited. (62507)
Fix: DataViews: Active page is not highlighted properly in list view. (62378)
Fix: Include permission management on permanently delete, rename, and restore. (62754)
Fix: List view renders an empty menu when no actions are eligible. (62786)
Fix: Post_type template is not used when creating a page in site editor. (62488)
Fix: Resetting template part causes notification saying it’s been delete. (62521)
Fix: 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. post action doesn’t take into account user capabilities. (62589)
Inspector: Improve handling of long words in post titles. (62691)
Revert “Revert test data for WithSlug variation (#62579)”. (62587)
Add letter spacing inheritance for the navigation block. (62745)
Caption utility component: Allow the main CSSCSSCascading Style Sheets. Class Name to be excluded from the markup. (62485)
Fix: Empty style attribute issue in navigation block. (62600)
Image Block: Fix Aspect Ratio button position. (62776)
Media & text: Update the image replacement logic. (62030)
Post Date Block: Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning error. (62783)
Template Part: Improve how the 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.) name attribute is handled. (62785)
fix: Update block categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. to design and build documentation. (61905)
Global Styles
Allow children of alignfull flow layouts to have root padding. (62670)
Section Styles: Switch away from using init for variation registration. (62640)
Skip registration of variation styles when unsupported. (62529)
Styles: Lower specificity of figcaption style to allow 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. override. (62689)
Components
CustomSelectControl V2: Fix setting initial value and reacting to external controlled updates. (62733)
CustomSelectControlV2: Handle long strings in selected value. (62198)
Block Editor
Raw handling: Fix too aggressive indented list removal. (62622)
Writing flow: Split heading into default block. (61891)
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)
Fix: Remove inexistent link from the documentation. (62624)
Interactivity API docs: Add wp-async directives doc. (62663)
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: Clarify explanation around query loop variation example. (62605)
Small Typo correction in block-library.md file. (62765)
Update link to API section in block-editor README.md. (62671)
Update old links in wordpress/babel-preset-default. (62616)
Updates the reference links in wordpress/compose documentation. (62593)
Autoformat e2e-tests package 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/.. (62572)
Edit site: Do not autoformat edit-site/lib. (62573)
Remove changelog checks for branches other than trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (62645)
Skip test: Create a new page, edit template and toggle page template preview. (62799)
Tests: Simplify test set up in WP_Block_Supports_Block_Style_Variations_Test. (62637)
Theme JSON resolver: Read theme.json files from the styles/ folder only once. (62638)
Build Tooling
Generic name for previous version of WP tests. (62853)
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 be the repository owner. https://github.com/ PHP changes workflow: Remove it. (62609)
Various
Update Private API opt-in string for WP 6.6. (62635)
Update caniuse-lite dependency to latest version. (62611)
First-time contributors
The following PRs were merged by first-time contributors:
@aatanasovdev: Caption utility component: Allow the main CSS Class Name to be excluded from the markup. (62485)
@dilipbheda: Correct documentation for WP_Block_Parser_Frame class. (62598)
@graylaurenm: Add letter spacing inheritance for the navigation block. (62745)
@ivan-ottinger: Editor: Fix blocked Post Publish Panel buttons on mobile. (62736)
In WordPress 6.6, Section Styles simplify the process of styling individual sections of a webpage by offering users a one-click application of curated styles, eliminating the need for repetitive manual configuration.
Section-based styling has been enabled by extending the existing Block Styles feature (aka 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) 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 introduced in WP 6.6.
In addition block style variations can now be:
registered across multiple block types at the same time
defined via multiple methods; primarily through 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. partials, or by passing a theme.json shaped object in the style’s data given to existing block style registration functions
customized via Global Styles (see also current limitations)
Usage
Registration of Block Style Variations
The block style variations that can be defined and manipulated through Global Styles are limited to those that have been registered with the WP_Block_Styles_Registry or via a block type’s styles property, such as Outline for the Button block. If a block style variation has not been registered, any theme.json or global styles data for it will be stripped out.
Any unregistered block style variation defined within a theme.json partial with be automatically registered.
Outlined below are three approaches to registering extended block style variations. The approaches leveraging theme.json definitions will automatically register the block style variation with the WP_Block_Styles_Registry.
Defining Block Style Variations
Outlined below are recommended approaches to registering extended block style variations.
Theme.json Partial Files
With the extension of block style variations to support inner element and block type styles, they essentially are their own theme.json file much like theme style variations. As such, block style variations also reside under a theme’s /styles directory. They are differentiated from theme style variations however by the introduction of a new top-level property called blockTypes. The blockTypes property is an array of block types the block style variation can be applied to.
A new slug property was also added to provide consistency between the different sources that may define block style variations and to decouple the slug from the translatable title property.
Within a theme’s functions.php or a 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, a call can be made to register_block_style, passing it an array of block types the variation can be used with as well as a theme.json shaped style object defining the variation’s styles. The style object provided here will be absorbed into the theme’s theme.json data.
This approach has been enabled as a temporary means to facilitate ergonomic definitions of shared block style variations through theme style variations. It is being flagged here for transparency however it will likely be deprecated soon as the Global Styles architecture is updated to address growing complexity and simplify its mental model.
More details on what’s ahead for Global Styles can be found in this issue.
Shared block style variations can be defined via styles.variations. Style data defined under styles.variations will be copied to, and merged with, variation data stored at the block type level for all block types that have a matching variation registered for it.
Additionally, a new translatable title property has been added here to mirror the capabilities of the theme.json partial files outlined above.
The key for the variation correlates to the slug property for theme.json partials. In the example below, this would be variation-a.
As the Section Styles feature was implemented via extensions to block style variations rather than as a replacement, existing block style variations will continue to work as before.
Limitations
The following limitations for block style variations in WordPress 6.6 should be noted:
Only root styles, i.e. those that apply directly to the block type the block style variation belongs to, can be configured via Global Styles.
Block style variations do not support their own custom settings values (yet).
Custom block style variations cannot be applied and previewed within the Style Book.
What’s Next?
The Global Styles UIUIUser interface for block style variations will be updated to facilitate the customization of all available styles for inner elements and block types. This includes potentially enhancing the Style Book to support block style variations.
Another future enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the possible support for settings per block style variations.
One of the goals of WordPress 6.6 is to simplify the process for theme authors to override coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. styles while also maintaining support for Global Styles.
Historically, high CSSCSSCascading Style Sheets. specificity in core styles has made customization challenging and unpredictable, often requiring complex CSS rules to achieve desired outcomes. Development of the new section styles feature also highlighted a need for uniform CSS specificity to support nesting such styles, facilitating the creation of sophisticated, layered designs.
Uniform 0-1-0 Specificity
WordPress 6.6 introduces several changes aimed at broadly reducing CSS specificity and making it more uniform. These changes generally fall into two categories:
Core 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. Styles
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. / Global Styles:
Where adjustments to CSS specificity were required, they were achieved by wrapping the existing selector within :root :where(...).
Core Block Styles
The choice of 0-1-0 specificity greatly reduced the changes required to existing core block styles as blocks targeting their default .wp-block- class already have the desired specificity.
Any blocks with Global Styles support using higher specificity selectors had those selectors wrapped in :root :where(...). This also applied to Block Styles (aka block style variations) and their default styles e.g., .wp-block-image.is-style-rounded img was updated to :root :where(.wp-block-image.is-style-rounded img).
Theme.json / Global Styles:
All block styles, including block style variation styles, output by theme.json and Global Styles are now limited to 0-1-0 specificity. Layout styles, e.g., constrained, flex, flow` etc., have also been limited however depending on the specific layout type and definition the final specificity varies slightly from 0-1-0 so they apply correctly.
Usage
The alignment of 0-1-0 specificity for Global Styles to default block selectors, e.g. .wp-block-, greatly reduces the need for updates. It’s recommended for theme and block authors to double-check their designs if they rely on custom CSS using more complex selectors.
Custom blocks
Authors of custom blocks that opt into global styles and apply default styling via a selector with greater than 0-1-0 specificity, should update those selectors wrapping them in :root :where().
An example could be a custom list block that opts into padding block support but defines default padding via:
ul.wp-block-custom-list {
padding: 0;
}
Without adjusting the specificity of this rule, any customizations of the block type’s padding in Global Styles would be overridden. Wrapping the selector in :root :where() here would allow the style load order to determine which rule takes precedence.
// Block's stylesheet
:root :where(ul.wp-block-custom-list) { // This is a contrived example and could simply be `.wp-block-custom-list`
padding: 0;
}
// Global Styles - Loaded after the block styles
:root :where(.wp-block-custom-list) {
padding: 1em;
}
Block Styles (aka Block Style Variations)
Theme authors customizing Block Styles for a core block will need to limit their style’s specificity, so the block style continues to be configurable via Global Styles.
For example, take a theme that tweaks the border radius for the Image block’s rounded block style:
Without adjustment, this style would override any customizations made to the Rounded block style within Global Styles.
In this case, the theme can tweak its rounded image style to the following:
//. Theme style
:root :where(.wp-block-image.is-style-rounded img) {
border-radius: 2em;
}
// Global Styles - Loaded after the block styles
:root :where(.wp-block-image.is-style-rounded img) {
border-radius: 4px;
}
Zero-Specificity, CSS Layers, and the future
Reducing all core styles to zero specificity was explored before settling on 0-1-0 specificity. Zero specificity unfortunately wasn’t robust in the face of common reset stylesheets and required more widespread changes.
CSS Layers were also evaluated but fell short due to not being able to enforce all styles belonged to a layer. This will change in the future at which point a combination of CSS Layers and zero-specificity can be revisited to further the benefits gained in this initial reduction of CSS specificity.
In WordPress 6.6 you can define site-wide 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 the Site Editor.
A “site-wide” background image is one whose value is set on the body element using the background-imageCSSCSSCascading Style Sheets. property, and, therefore, appears on every page of a site.
An example might be a photo that stretches with the window size, or a repeating pattern background.
To customize how background images appear, WordPress 6.6 supports the following background style properties:
background position
background size
background repeat
Usage
In theme.json
In theme.json, site-wide background images and their properties are defined under "styles.background".
For example, as a single image URI in styles.background.backgroundImage.url:
The above examples use absolute paths to image files. Such files would need to be hosted and maintained.
Most likely, theme developers will want to define background images using paths to a theme’s own assets. This ensures that the theme is self-contained and portable.
Relative paths to theme assets are defined using the file:./ prefix:
Paths defined this way must be relative to the theme root, regardless of where the theme.json sits in your theme’s directory. This follows an existing pattern for web fonts.
Despite the dot in file:./, the special symbols dot (.) and double dot (..) for directory navigation are not supported in theme.json relative paths. This means, for example, that theme style variation files, which reside under the style/ directory, would use the same path as the theme’s main theme.json.
An issue exists to make the syntax more consistent.
In the Site Editor
Background images can be also be uploaded, and their properties tweaked through the Site Editor’s styles panel.
In WordPress 6.6, background image controls are located under Styles > Layout.
The styles panel navigation is undergoing review however, so in upcoming versions the location may change.
Relative paths to any images in theme.json are resolved on the backend, and are sent in the _links array of Global Styles REST responses. The Editor uses the resolved values to generate theme CSS in the client.
Limitations
In WordPress 6.6, the ability to define background images in theme.json exists only for top-level styles. Top-level styles apply to the body element. An open PR aims to also enable the feature at 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. level in the next WordPress release.
Work is also underway to:
add support for fixed images, using the background-attachment CSS property.
avoid conflicts between gradient backgrounds, whose values are currently set to the background property, and background-image. The proposal is that gradient backgrounds will also be set to background-image, and, where both an image and a gradient are defined, their values are merged .
Background images added in the CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. take precedence over those set in theme.json or in the Site Editor.
“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)
Posts Dashboard: Add a new experimental empty page. (62406)
Documentation
Add @globalPHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher documentation. (60539)
Add documentation for PostSticky and PostStickyCheck component. (62100)
Add documentation for WordCount component. (62217)
Added documentation for PostTrash & PostTrashCheckTimeToReadTextEditorGlobalKeyboardShortcutsPostPublishButtonLabel Component. (62116)
Better changelogs for the JSX transform upgrade. (62265)
Corrected @SInCE Order in Php documentation. (61992)
Docs: Explicitly mention new behavior coming in WP 6.6 for block variations. (62399)
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 capabilities, 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 be 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 5.6.20 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)
You must be logged in to post a comment.